Personally I think the following little trick/modification makes for cleaner code... (and I think that raise_error makes more sense if it contains the error message returned...)
sub bar
{
my( $self, @args )= @_;
eval { $self->method( @args ); 1}
or $self->raise_error( $@, @_ ) and return undef;
}
If you can contrive to make raise_error() return undef you can make it even cleaner
sub bar
{
my( $self, @args )= @_;
eval { $self->method( @args ); 1}
or return $self->raise_error( $@, @_ );
}
--- demerphq
my friends call me, usually because I'm late....