package DualVar; use overload ( '""' => sub { $_[0][0] }, '0+' => sub { $_[0][1] }, fallback => 1, ); sub new { bless [ @_[1,2] ], $_[0] } 1; #### use DualVar; my $x = DualVar->new("japhy", 19); printf "I'm %s, and I'm %d years old.\n", $x, $x;