# NAME Sub::Retry - retry $n times # SYNOPSIS use Sub::Retry; use LWP::UserAgent; my $ua = LWP::UserAgent->new(); my $res = retry 3, 1, sub { my $n = shift; $ua->post('http://example.com/api/foo/bar'); }; # DESCRIPTION Sub::Retry provides the function named 'retry'. # FUNCTIONS - retry($n\_times, $delay, \\&code \[, \\&retry\_if\]) This function calls `\&code`. If the code throws exception, this function retry `$n_times` after `$delay` seconds. Return value of this function is the return value of `\&code`. This function cares [wantarray](http://search.cpan.org/perldoc?wantarray). You can also customize the retry condition. In that case `\&retry_if` specify CodeRef. The CodeRef arguments is return value the same. (Default: retry condition is throws exception) use Sub::Retry; use Cache::Memcached::Fast; my $cache = Cache::Memcached::Fast->new(...); my $res = retry 3, 1, sub { $cache->get('foo'); }, sub { my $res = shift; defined $res ? 0 : 1; }; # AUTHOR Tokuhiro Matsuno <tokuhirom AAJKLFJEF GMAIL COM> # LICENSE Copyright (C) Tokuhiro Matsuno This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.