NAME
Tie::Scalar::Ratio - a scalar which multiplies in value every time it is accessed.
VERSION
version 0.01
SYNOPSIS
use Tie::Scalar::Ratio;
tie(my $doubler, 'Tie::Scalar::Ratio', 2, 1);
print $doubler; # 1
print $doubler; # 2
print $doubler; # 4
print $doubler; # 8
tie(my $halver, 'Tie::Scalar::Ratio', 0.5, 80);
print $halver; # 80
print $halver; # 40
print $halver; # 20
print $halver; # 10
DESCRIPTION
Tie::Scalar::Ratio
is a class for creating tied scalars which multiply their value by a ratio everytime their value is read. I found this a useful way to make a retry()
function increase its sleep duration after every attempt, without re-writing the function (I just passed a Tie::Scalar::Ratio
object as the duration scalar).
Similarly by passing a ratio value less than 1, it can be used as a timeout or countdown feature.
SEE ALSO
AUTHOR
David Farrell <dfarrell@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2016 by David Farrell.
This is free software, licensed under:
The (two-clause) FreeBSD License