in reply to Re^4: How to import names from a dynamically required module
in thread How to import names from a dynamically required module

Indeed. This has the (often welcome) side-effect that the existence of the package is checked at compile-time, and a warning is issued (if warnings are enabled) if the package does not exist.

With stringy class names (and indeed with the traditional Foo::Bar->new) there is no such check, and Perl just blows up when it can't resolve the method call.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'