sub dynamic_require { my ($self, $ns_extension) = @_; my $class = join '::', __PACKAGE__, $ns_extension; my $source = <<~EOF; package $class; use parent 'MooselessRequireHookTest'; 1; EOF push @INC, sub { my ($coderef, $filename) = @_; my $wanted_filename = $class =~ s{::}{/}gr . '.pm'; return unless $filename eq $wanted_filename; return \$source; }; eval "require $class;"; return; }