> Granted though, most examples I've found are syntax error > messages and not runtime warnings. So? The pragma helps both. % perl -Mstrict -Mdiagnostics $x = 1; Global symbol "$x" requires explicit package name at - line 1 (#1) (F) You've said "use strict vars", which indicates that all variables must either be lexically scoped (using "my"), declared beforehand using "our", or explicitly qualified to say which package the global variable is in (using "::"). $x += $x + /; Global symbol "$x" requires explicit package name at - line 2 (#1) ^D Search pattern not terminated at - line 2 (#2) (F) The lexer couldn't find the final delimiter of a // or m{} construct. Remember that bracketing delimiters count nesting level. Missing the leading $ from a variable $m may cause this error. Uncaught exception from user code: Search pattern not terminated at - line 2. Exit 255 --tom