#test.pl for (1..2) { eval "require bar"; print "attempt $_: ", ($@ ? "nok - $@" : "ok"), "\n"; } #bar.pm use Carp; croak "loaded$/" # STDOUT: attempt 1: nok - loaded require bar.pm called at (eval 1) line 3 eval 'require bar ;' called at test.pl line 3 Compilation failed in require at (eval 1) line 3. attempt 2: ok