NAME
Argon::Util - Utilities used in Argon classes
VERSION
version 0.18
DESCRIPTION
Utility functions used in Argon classes.
EXPORTS
No subroutines are exported by default.
SUBROUTINES
K
Creates a callback function that calls a method on an object instance with arbitrary arguments while preventing circular references from closing over the method or object instance itself.
my $callback = K('method_name', $self, $arg1, $arg2, ...);
param
Extracts a parameter from an argument hash.
sub thing{
my ($self, %param) = @_;
my $foo = param 'foo', %param, 'default'; # equivalent: $param{foo} // 'default';
my $bar = param 'bar', %param; # equivalent: $param{bar} // croak "expected parameter 'bar'";
}
interval
Returns a code ref that, when called, returns an increasing interval value to simplify performing a task using a logarithmic backoff. When the code ref is called with an argument (a truthy one), the backoff will reset back to the original argument.
my $intvl = interval 5;
until (some_task_succeeds()) {
sleep $intvl->();
}
AUTHOR
Jeff Ober <sysread@fastmail.fm>
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Jeff Ober.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.