in reply to Re^2: Executing a program from within a Perl Module in a non-standard path
in thread Executing a program from within a Perl Module in a non-standard path

"As an aside, I can't understand how import doesn't get itself in an infinite loop!"

System::Sub::Env::import is going to System::Sub::import. Different package; different sub.

The reason for the goto is to hide System::Sub::Env::import from the call stack - System::Sub's import method looks at caller.

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name