$ perl -le 'open F, "gobbledegook" or print "WARN1: $!"; print "PRINT: $!"; readlink "test" or print "WARN2: $!"; print "PRINT: $!' WARN1: No such file or directory PRINT: No such file or directory WARN2: Invalid argument PRINT: Invalid argument #### $ perl -e 'print "BANG: $!"' BANG: $ perl -Mstrict -e 'print "BANG: $!"' BANG: Bad file descriptor