X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldiag.pod;h=3963e7e3d4491c0a10bf00cb0f0d78bbd226fb57;hb=bdbb64c22f35e0b11cf29ddb2597039baf475c01;hp=d38244e4ef26f9c2f1b851338a693e0415db8d61;hpb=8b56d6ffd0fe641abae5662a8e75424a1d9e4dce;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldiag.pod b/pod/perldiag.pod index d38244e..3963e7e 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -115,8 +115,8 @@ which 'splits' output into two streams, such as (W misc) The pattern match (C), substitution (C), and transliteration (C) operators work on scalar values. If you apply one of them to an array or a hash, it will convert the array or hash to -a scalar value -- the length of an array, or the population info of a -hash -- and then work on that scalar value. This is probably not what +a scalar value (the length of an array, or the population info of a +hash) and then work on that scalar value. This is probably not what you meant to do. See L and L for alternatives. @@ -526,6 +526,11 @@ from that type of reference to a typeglob. (P) Perl detected an attempt to copy a value to an internal type that cannot be directly assigned not. +=item Cannot find encoding "%s" + +(S io) You tried to apply an encoding that did not exist to a filehandle, +either with open() or binmode(). + =item Can only compress unsigned integers in pack (F) An argument to pack("w",...) was not an integer. The BER compressed @@ -717,9 +722,9 @@ is no builtin with the name C. =item Can't find %s character property "%s" (F) You used C<\p{}> or C<\P{}> but the character property by that name -could not be found. Maybe you misspelled the name of the property -(remember that the names of character properties consist only of -alphanumeric characters), or maybe you forgot the C or C prefix? +could not be found. Maybe you misspelled the name of the property? +See L +for a complete list of available properties. =item Can't find label %s @@ -752,8 +757,10 @@ editor will have a way to help you find these characters. =item Can't find Unicode property definition "%s" (F) You may have tried to use C<\p> which means a Unicode property (for -example C<\p{Lu}> is all uppercase letters). If you did mean to use a -Unicode property, see L for the list of known properties. +example C<\p{Lu}> matches all uppercase letters). If you did mean to use a +Unicode property, see +L +for a complete list of available properties. If you didn't mean to use a Unicode property, escape the C<\p>, either by C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, until possible C<\E>). @@ -1924,8 +1931,8 @@ to your Perl administrator. =item Illegal character in prototype for %s : %s -(W syntax) An illegal character was found in a prototype declaration. Legal -characters in prototypes are $, @, %, *, ;, [, ], &, and \. +(W illegalproto) An illegal character was found in a prototype declaration. +Legal characters in prototypes are $, @, %, *, ;, [, ], &, and \. =item Illegal declaration of anonymous subroutine @@ -2260,6 +2267,20 @@ effective uids or gids failed. length/code combination tried to obtain more data. This results in an undefined value for the length. See L. +=item Lexing code attempted to stuff non-Latin-1 character into Latin-1 input + +(F) An extension is attempting to insert text into the current parse +(using L or similar), but +tried to insert a character that couldn't be part of the current input. +This is an inherent pitfall of the stuffing mechanism, and one of the +reasons to avoid it. Where it is necessary to stuff, stuffing only +plain ASCII is recommended. + +=item Lexing code internal error (%s) + +(F) Lexing code supplied by an extension violated the lexer's API in a +detectable way. + =item listen() on closed socket %s (W closed) You tried to do a listen on a closed socket. Did you forget @@ -2291,6 +2312,14 @@ You may wish to switch to using L explicitly. by that? lstat() makes sense only on filenames. (Perl did a fstat() instead on the filehandle.) +=item lvalue attribute ignored after the subroutine has been defined + +(W misc) Making a subroutine an lvalue subroutine after it has been defined +by declaring the subroutine with a lvalue attribute is not +possible. To make the the subroutine a lvalue subroutine add the +lvalue attribute to the definition, or put the the declaration before +the definition. + =item Lvalue subs returning %s not implemented yet (F) Due to limitations in the current implementation, array and hash @@ -2411,6 +2440,11 @@ ended earlier on the current line. (W syntax) An underscore (underbar) in a numeric constant did not separate two digits. +=item Missing argument in %s + +(W uninitialized) A printf-type format required more arguments than were +supplied. + =item Missing argument to -%c (F) The argument to the indicated command line switch must follow @@ -3514,7 +3548,7 @@ in L. =item Prototype after '%c' for %s : %s -(W syntax) A character follows % or @ in a prototype. This is useless, +(W illegalproto) A character follows % or @ in a prototype. This is useless, since % and @ gobble the rest of the subroutine arguments. =item Prototype mismatch: %s vs %s @@ -4375,8 +4409,11 @@ representative, who probably put it there in the first place. (W utf8) Certain codepoints, such as U+FFFE and U+FFFF, are defined by the Unicode standard to be non-characters. Those are legal codepoints, but are reserved for internal use; so, applications shouldn't attempt to exchange -them. If you know what you are doing you can turn off this warning by -C. +them. In some cases, this message is also given if you use a codepoint that +isn't in Unicode--that is it is above the legal maximum of U+10FFFF. These +aren't legal at all in Unicode, so they are illegal for interchange, but can be +used internally in a Perl program. If you know what you are doing you can turn +off this warning by C. =item Unknown BYTEORDER @@ -4769,6 +4806,11 @@ to access the filehandle slot within a typeglob. operator. Since C always tries to match the pattern repeatedly, the C has no effect. +=item Use of "goto" to jump into a construct is deprecated + +(D deprecated) Using C to jump from an outer scope into an inner +scope is deprecated and should be avoided. + =item Use of inherited AUTOLOAD for non-method %s() is deprecated (D deprecated) As an (ahem) accidental feature, C subroutines @@ -4889,7 +4931,7 @@ requesting a Unicode character between the code points 0xD800 and 0xDFFF (inclusive). That range is reserved exclusively for the use of UTF-16 encoding (by having two 16-bit UCS-2 characters); but Perl encodes its characters in UTF-8, so what you got is a very illegal -character. If you really know what you are doing you can turn off +character. If you really really know what you are doing you can turn off this warning by C. =item Value of %s can be "0"; test with defined()