http://www.perlmonks.org?node_id=1007735


in reply to Cancel/no-op a require

Also, if you really want to use a hook in @INC, this is how they work...

unshift @INC, sub { my $module = $_[1]; if ($module eq 'Foo.pm') { $INC{$module}++; my $line = 0; return sub { unless ($line++) { $_ = "1;\n"; return 1; } return 0; } } return; }; require Foo; # no-op
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'