package A::B; sub meth { warn "meth $_[0]", "\n"; } my $meth='meth'; A::B->$meth(25); # succeeds...not really what you are likely expecting &$meth(26); # succeeds in calling my $foo="A::B::meth"; &$foo(27); # also succeeds