my $a1 = [1,2]; bless $a1, "test"; my $a2 = [2,4]; my $a3 = $a1+$a2; print "@$a3\n"; package test; use strict; use overload '+' => sub { bless [ $_[0][0]+$_[1][0], $_[0][1]+$_[1][1] ], ref $_[0] }; # NOTE: I'm ignoring an important third argument that you'd need to check # if you wanted to support subtraction 1;