Yep, you have to have a blessed package (an object) in
order for overload to work - but who says you can't bless
main? ;)
use strict;
use overload '+' => sub { ${$_[0]} - ${$_[1]} };
use overload '-' => sub { ${$_[0]} + ${$_[1]} };
my ($x,$y) = (90,60);
my $i = bless \$x, 'main';
my $j = bless \$y, 'main';
# objects use overloaded operators
print $i + $j, $/; # 30
print $i - $j, $/; # 150
# normal scalars use Perl operators
print $x + $y, $/; # 150
print $x - $y, $/; # 30
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)