package Foo; sub new { use strict; return bless({}, 'Foo'); } sub mysub { use strict; print "invoked foo->mysub\n"; } package main; sub mysub { use strict; print "invoked mysub\n"; } use strict; my $foo = 'Foo'->new; $foo->mysub % 2; $foo->mysub % 2; mysub %2; mysub %2;