RosettaCodeData/Task/Reflection-List-methods/Perl/reflection-list-methods-1.pl

11 lines
276 B
Perl

package Nums;
use overload ('<=>' => \&compare);
sub new { my $self = shift; bless [@_] }
sub flip { my @a = @_; 1/$a }
sub double { my @a = @_; 2*$a }
sub compare { my ($a, $b) = @_; abs($a) <=> abs($b) }
my $a = Nums->new(42);
print "$_\n" for %{ref ($a)."::" });