X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/e2f4a21516f8b15d328567ae8e260a6d85266c02..7bd1381d1eadc68b8162724881e34b5652c2d1e6:/pod/perldiag.pod diff --git a/pod/perldiag.pod b/pod/perldiag.pod index b4cfd12..868cbc1 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1449,13 +1449,13 @@ will match. This may be counterintuitive at times, as both these fail: - chr(0x110000) =~ \p{ASCII_Hex_Digit=True} # Fails. - chr(0x110000) =~ \p{ASCII_Hex_Digit=False} # Also fails! + chr(0x110000) =~ /\p{ASCII_Hex_Digit=True}/ # Fails. + chr(0x110000) =~ /\p{ASCII_Hex_Digit=False}/ # Also fails! and both these succeed: - chr(0x110000) =~ \P{ASCII_Hex_Digit=True} # Succeeds. - chr(0x110000) =~ \P{ASCII_Hex_Digit=False} # Also succeeds! + chr(0x110000) =~ /\P{ASCII_Hex_Digit=True}/ # Succeeds. + chr(0x110000) =~ /\P{ASCII_Hex_Digit=False}/ # Also succeeds! =item %s: Command not found @@ -3308,6 +3308,14 @@ the meantime, try using scientific notation (e.g. "1e6" instead of a number. This happens, for example with C<\o{}>, with no number between the braces. +=item "my %s" used in sort comparison + +(W syntax) The package variables $a and $b are used for sort comparisons. +You used $a or $b in as an operand to the C<< <=> >> or C operator inside a +sort comparison block, and the variable had earlier been declared as a +lexical variable. Either qualify the sort variable with the package +name, or rename the lexical variable. + =item Octal number > 037777777777 non-portable (W portable) The octal number you specified is larger than 2**32-1 @@ -3528,6 +3536,12 @@ an ACL related-function, but that function is not available on this platform. Earlier checks mean that it should not be possible to enter this branch on this platform. +=item panic: child pseudo-process was never scheduled + +(P) A child pseudo-process in the ithreads implementation on Windows +was not scheduled within the time period allowed and therefore was not +able to initialize properly. + =item panic: ck_grep, type=%u (P) Failed an internal consistency check trying to compile a grep. @@ -4245,7 +4259,7 @@ really a dirhandle. Check your control flow. =item Scalars leaked: %d -(W internal) Something went wrong in Perl's internal bookkeeping +(S internal) Something went wrong in Perl's internal bookkeeping of scalars: not all scalar variables were deallocated by the time Perl exited. What this usually indicates is a memory leak, which is of course bad, especially if the Perl program is intended to be @@ -4473,6 +4487,12 @@ superfluous. (W signal) The signal handler named in %SIG doesn't, in fact, exist. Perhaps you put it into the wrong package? +=item Slab leaked from cv %p + +(S) If you see this message, then something is seriously wrong with the +internal bookkeeping of op trees. An op tree needed to be freed after +a compilation error, but could not be found, so it was leaked instead. + =item Smart matching a non-overloaded object breaks encapsulation (F) You should not use the C<~~> operator on an object that does not @@ -4524,6 +4544,14 @@ a block by itself. sense to try to declare one with a package qualifier on the front. Use local() if you want to localize a package variable. +=item "state %s" used in sort comparison + +(W syntax) The package variables $a and $b are used for sort comparisons. +You used $a or $b in as an operand to the C<< <=> >> or C operator inside a +sort comparison block, and the variable had earlier been declared as a +lexical variable. Either qualify the sort variable with the package +name, or rename the lexical variable. + =item stat() on unopened filehandle %s (W unopened) You tried to use the stat() function on a filehandle that @@ -4956,7 +4984,7 @@ you can turn off this warning by C. =item Unicode surrogate U+%X is illegal in UTF-8 -(W utf8, surrogate) You had a UTF-16 surrogate in a context where they are +(S utf8, surrogate) You had a UTF-16 surrogate in a context where they are not considered acceptable. These code points, between U+D800 and U+DFFF (inclusive), are used by Unicode only for UTF-16. However, Perl internally allows all unsigned integer code points (up to the size limit @@ -5181,6 +5209,18 @@ character to get your parentheses to balance. See L. compressed integer format and could not be converted to an integer. See L. +=item Unterminated delimiter for here document + +(F) This message occurs when a here document label has an initial +quotation mark but the final quotation mark is missing. Perhaps +you wrote: + + <<"foo + +instead of: + + <<"foo" + =item Unterminated \g{...} pattern in regex; marked by <-- HERE in m/%s/ (F) You missed a close brace on a \g{..} pattern (group reference) in