Exception-Delayed
view release on metacpan or search on metacpan
lib/Exception/Delayed.pm view on Meta::CPAN
use strict;
use warnings;
our $VERSION = '0.002'; # VERSION
sub wantscalar {
my ( $class, $code, @args ) = @_;
my $RV;
eval { $RV = scalar $code->(@args); };
if ($@) {
return bless { error => $@ } => $class;
}
else {
return bless { result => \$RV } => $class;
}
}
sub wantlist {
my ( $class, $code, @args ) = @_;
my @RV;
eval { @RV = $code->(@args); };
if ($@) {
return bless { error => $@ } => $class;
}
else {
return bless { result => \@RV } => $class;
}
}
sub wantany {
my ( $class, $wantarray, $code, @args ) = @_;
if ($wantarray) {
return $class->wantlist( $code, @args );
}
else {
return $class->wantscalar( $code, @args );
( run in 0.558 second using v1.01-cache-2.11-cpan-65fba6d93b7 )