use overload '==' => \&iseq, '0+' => \# ... sub num { print "Someone wants me (" . $_[0]->[0] . ") in numeric context\n"; }