... use overload "-" => \&minus, "+" => \&plus, "*" => \&mult, "bool" => \&bool; ... sub plus { my $u = shift; my $v = shift; return new Vector2D ( $u->getx() + $v->getx(), $u->gety() + $v->gety() ); } ...