must either both be scalars or both be lists. Otherwise Perl won't
know which context to supply to the right side.
-=item Attempt to access key '%_' in fixed hash
+=item Attempt to access disallowed key '%s' in a fixed hash
-(F) A hash has been marked as READONLY at the C level to turn it
-into a "record" with a fixed set of keys. The failing code
-has attempted to get or set the value of a key which does not
-exist or to delete a key.
+(F) The failing code has attempted to get or set a key which is not in
+the current set of allowed keys of a fixed hash.
+
+=item Attempt to clear a fixed hash
+
+(F) It is currently not allowed to clear a fixed hash, even if the
+new hash would contain the same keys as before. This may change in
+the future.
+
+=item Attempt to delete readonly key '%s' from a fixed hash
+
+(F) The failing code attempted to delete a key whose value has been
+declared readonly from a fixed hash.
+
+=item Attempt to delete disallowed key '%s' from a fixed hash
+
+(F) The failing code attempted to delete from a fixed hash a key which
+is not in its key set.
=item Attempt to bless into a reference
=item Can't find %s property definition %s
(F) You may have tried to use C<\p> which means a Unicode property for
-example \p{Lu} is all uppercase letters. Escape the C<\p>, either
+example \p{Lu} is all uppercase letters. if you did mean to use a
+Unicode property, see L<perlunicode> for the list of known properties.
+If you didn't mean to use a Unicode property, escape the C<\p>, either
C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, until
possible C<\E>).
=item Empty %s
-(F) Empty C<\p{}> or C<\P{}>.
+(F) C<\p> and C<\P> are used to introduce a named Unicode property, as
+described in L<perlunicode> and L<perlre>. You used C<\p> or C<\P> in
+a regular expression without specifying the property name.
=item entering effective %s failed
Failure of user callbacks dispatched using the C<G_KEEPERR> flag could
also result in this warning. See L<perlcall/G_KEEPERR>.
+=item In EBCDIC the v-string components cannot exceed 2147483647
+
+(F) An error peculiar to EBCDIC. Internally, v-strings are stored as
+Unicode code points, and encoded in EBCDIC as UTF-EBCDIC. The UTF-EBCDIC
+encoding is limited to code points no larger than 2147483647 (0x7FFFFFFF).
+
=item Insecure dependency in %s
(F) You tried to do something that the tainting mechanism didn't like.
Perl detected something that didn't comply with UTF-8 encoding rules.
+One possible cause is that you read in data that you thought to be in
+UTF-8 but it wasn't (it was for example legacy 8-bit data). Another
+possibility is careless use of utf8::upgrade().
+
=item Malformed UTF-16 surrogate
Perl thought it was reading UTF-16 encoded character data but while
some day, even though it doesn't yet. Perhaps you should use a
mixed-case attribute name, instead. See L<attributes>.
-=item Package '%s' not found (did you use the incorrect case?)
-
-(W misc) You included a package file via C<use>, but the package name
-did not match the file name. It's possible that you misspelled the
-package name.
-
=item page overflow
(W io) A single call to write() produced more lines than can fit on a
(D deprecated) You are now encouraged to use the explicitly quoted form
if you wish to use an empty line as the terminator of the here-document.
+=item Use of /c modifier is meaningless in s///
+
+(W regexp) You used the /c modifier in a substitution. The /c
+modifier is not presently meaningful in substitutions.
+
+=item Use of /c modifier is meaningless without /g
+
+(W regexp) You used the /c modifier with a regex operand, but didn't
+use the /g modifier. Currently, /c is meaningful only when /g is
+used. (This may change in the future.)
+
+=item Use of /g modifier is meaningless in split
+
+(W regexp) You used the /g modifier on the pattern for a C<split>
+operator. Since C<split> always tries to match the pattern
+repeatedly, the C</g> has no effect.
+
=item Use of *glob{FILEHANDLE} is deprecated
(D deprecated) You are now encouraged to use the shorter *glob{IO} form