CHAPTER 92. PERL56DELTA 92.10. NEW OR CHANGED DIAGNOSTICS Can’t remove %s: %s, skipping file Can’t return %s from lvalue subroutine Can’t weaken a nonreference Character class [:%s: unknown] Character class syntax [%s belongs inside] character classes Constant is not %s reference constant(%s): %s CORE::%s is not a keyword defined(@array) is deprecated defined(%hash) is deprecated Did not produce a valid header (Did you mean "local" instead of "our"?) Document contains no data entering e ff ective %s failed false [ range "%s" in regexp] 1446 (W regexp) A character class range must start and end at a literal character, not another character class like \ d or [:alpha:] . The "-" in your false range is interpreted as a literal "-". Consider quoting the "-", " \ -". See perlre . (F) While under the use filetest pragma, switching the real and e ff ective uids or gids failed. See Server error. (W misc) Remember that "our" does not localize the declared global variable. You have declared it again in the same lexical scope, which seems superfluous. See Server error. (D) defined() is not usually useful on hashes because it checks for an undefined scalar value. If you want to see if the hash is empty, just use if (%hash) { # not empty } for example. (D) defined() is not usually useful on arrays because it checks for an undefined scalar value. If you want to see if the array is empty, just use if (@array) { # not empty } for example. (F) The CORE:: namespace is reserved for Perl keywords. (F) The parser found inconsistencies either while attempting to define an overloaded constant, or when trying to find the character name specified in the \ N{...} escape. Perhaps you forgot to load the corresponding overload or charnames pragma? See charnames and overload . (F) A constant value (perhaps declared using the use constant pragma) is being dereferenced, but it amounts to the wrong type of reference. The message indicates the type of reference that was expected. This usually indicates a syntax error in dereferencing the constant value. See Constant Functions in perlsub and constant . (W unsafe) The character class constructs [: :], [ = = ], and [. .] go inside character classes, the [] are part of the construct, for example: / [012[:alpha:]345] / . Note that [ = = ] and [. .] are not currently implemented; they are simply placeholders for future extensions. (F) The class in the character class [: :] syntax is unknown. See perlre . (F) You attempted to weaken something that was not a reference. Only references can be weakened. (F) Perl detected an attempt to return illegal lvalues (such as temporary or readonly values) from a subroutine used as an lvalue. This is not allowed. (S) You requested an inplace edit without creating a backup file. Perl was unable to remove the original file to replace it with the modified file. The file was left unmodified.