Try-ALRM
view release on metacpan or search on metacpan
lib/Try/ALRM.pm view on Meta::CPAN
$TRIES = $tries;
}
return $TRIES;
}
#NOTE: C<try_once> a case of C<retry>, where C<< tries => 1 >>.
sub try_once (&;@) {
&retry( @_, tries => 1 ); #&retry, bypasses prototype
}
sub retry(&;@) {
unshift @_, q{retry}; # adding marker, will be key for this &
my %TODO = @_;
my $TODO = \%TODO;
my $RETRY = $TODO->{retry} // sub { }; # defaults to no-op
my $ALRM = $TODO->{ALRM} // $SIG{ALRM}; # local ALRM defaults to global $SIG{ALRM}
my $timeout = $TODO->{timeout} // $TIMEOUT;
my $tries = $TODO->{tries} // $TRIES;
my $FINALLY = $TODO->{finally} // sub { };
( run in 1.095 second using v1.01-cache-2.11-cpan-49f99fa48dc )