| August 1999 | Return to the Perl Hardware Store | Slide #23 |
In
sub FETCH {
$_[1];
}
the the hash key is evaluated (by Perl) and returned unchanged (by us).
We can profit by changing it.
For example:
sub FETCH {
my $key = sprintf("%.2f", abs($_[1]));
my $positive = $_[1] > 0;
1 while $key =~ s/^([-+]?\d+)(\d{3})/$1,$2/; # FAQ
$positive ? " \$$key " : "(\$$key)";
}
Now:
use Eval '$';
$EARNINGS = 47387.12;
$EXPENSES = 55337.48;
print "This year we earned $${$EARNINGS} and expended $${EXPENSES}.\n"
print "Net profits were $${$EARNINGS-$EXPENSES}.\n";
prints
This year we earned $47,387.12 and expended $55,337.48.
Net profits were ($7,950.36).
| Next | ![]() |
Copyright © 1999 M-J. Dominus |