X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldiag.pod;h=44b83ed64b6c19be6a8501cb9f10bd8828f9afa1;hb=bc82975d259d743626ad1b4a960b4b1f13c7a816;hp=6e5207f5ef1f6e3ce0c355aec79018b07badc168;hpb=4358a253560c226dd674c77f83b913c071c4fa25;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 6e5207f..44b83ed 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -361,6 +361,12 @@ by setting environment variable C to 1. (P) An internal request asked to add an array entry to something that wasn't a symbol table entry. +=item Bad symbol for dirhandle + +(P) An internal request asked to add a dirhandle entry to something +that wasn't a symbol table entry. + + =item Bad symbol for filehandle (P) An internal request asked to add a filehandle entry to something @@ -480,6 +486,13 @@ See L. (F) An argument to pack("w",...) was negative. The BER compressed integer format can only be used with positive integers. See L. +=item Cannot convert a reference to %s to typeglob + +(F) You manipulated Perl's symbol table directly, stored a reference in it, +then tried to access that symbol via conventional Perl syntax. The access +triggers Perl to autovivify that typeglob, but it there is no legal conversion +from that type of reference to a typeglob. + =item Can only compress unsigned integers in pack (F) An argument to pack("w",...) was not an integer. The BER compressed @@ -491,6 +504,15 @@ to compress something else. See L. (F) Only hard references may be blessed. This is how Perl "enforces" encapsulation of objects. See L. +=item Can't "break" in a loop topicalizer + +(F) You called C, but you're in a C block rather than +a C block. You probably meant to use C or C. + +=item Can't "break" outside a given block + +(F) You called C, but you're not inside a C block. + =item Can't call method "%s" in empty package "%s" (F) You called a method correctly, and it correctly indicated a package @@ -566,6 +588,11 @@ but then $foo no longer contains a glob. (F) Certain types of SVs, in particular real symbol table entries (typeglobs), can't be forced to stop being what they are. +=item Can't "continue" outside a when block + +(F) You called C, but you're not inside a C +or C block. + =item Can't create pipe mailbox (P) An error peculiar to VMS. The process is suffering from exhausted @@ -695,15 +722,6 @@ found in the PATH. found in the PATH, or at least not with the correct permissions. The script exists in the current directory, but PATH prohibits running it. -=item Can't find %s 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. -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>). - =item Can't find string terminator %s anywhere before EOF (F) Perl strings can stretch over multiple lines. This message means @@ -716,6 +734,15 @@ If you're getting this error from a here-document, you may have included unseen whitespace before or after your closing tag. A good programmer's 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. +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>). + =item Can't fork (F) A fatal error occurred while trying to fork while opening a @@ -1049,19 +1076,13 @@ redefined subroutine while the old routine is running. Go figure. (F) You tried to unshift an "unreal" array that can't be unshifted, such as the main Perl stack. -=item Can't upgrade that kind of scalar +=item Can't upgrade %s (%d) to %d (P) The internal sv_upgrade routine adds "members" to an SV, making it into a more specialized kind of SV. The top several SV types are so specialized, however, that they cannot be interconverted. This message indicates that such a conversion was attempted. -=item Can't upgrade to undef - -(P) The undefined SV is the bottom of the totem pole, in the scheme of -upgradability. Upgrading to undef indicates an error in the code -calling sv_upgrade. - =item Can't use anonymous symbol table for method lookup (F) The internal routine that does method lookup was handed a symbol @@ -1144,6 +1165,13 @@ expression pattern. Trying to do this in ordinary Perl code produces a value that prints out looking like SCALAR(0xdecaf). Use the $1 form instead. +=item Can't use "when" outside a topicalizer + +(F) You have used a when() block that is neither inside a C +loop nor a C block. (Note that this error is issued on exit +from the C block, so you won't get the error if the match fails, +or if you use an explicit C.) + =item Can't weaken a nonreference (F) You attempted to weaken something that was not a reference. Only @@ -1237,6 +1265,11 @@ uses the character values modulus 256 instead, as if you had provided: (W unopened) You tried to close a filehandle that was never opened. +=item closedir() attempted on invalid dirhandle %s + +(W io) The dirhandle you tried to close is either closed or not really +a dirhandle. Check your control flow. + =item Code missing after '/' (F) You had a (sub-)template that ends with a '/'. There must be another @@ -1473,6 +1506,10 @@ subroutine or package before the current location. You can use an empty (W misc) You used the obsolescent C built-in function, without fully qualifying it as C. Maybe it's a typo. See L. +=item dump is not supported + +(F) Your machine doesn't support dump/undump. + =item Duplicate free() ignored (S malloc) An internal routine called free() on something that had @@ -1939,6 +1976,22 @@ transparently promotes all numbers to a floating point representation internally--subject to loss of precision errors in subsequent operations. +=item Integer overflow in division + +(F) In the scope of the C pragma, division would have overflowed. +This will happen if you attempt to divide the largest negative integer by -1, +since the result cannot be represented as a signed integer on a two's complement +system. This division is trapped as a Perl-level exception because on some +architectures the integer divide operation will trigger a CPU exception +causing program exit, rather than merely returning a mathematically wrong +answer. + +=item Integer overflow in format string for %s + +(F) The indexes and widths specified in the format string of C +or C are too large. The numbers must not overflow the size of +integers for your architecture. + =item Integer overflow in version (F) Some portion of a version initialization is too large for the @@ -2170,7 +2223,8 @@ when the function is called. =item Malformed UTF-8 character (%s) -(W utf8) Perl detected something that didn't comply with UTF-8 encoding rules. +(S utf8) (F) 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 @@ -2886,6 +2940,13 @@ data. (P) We popped the context stack to a context with the specified label, and then discovered it wasn't a context we know how to do a goto in. +=item panic: hfreeentries failed to free hash + +(P) The internal routine used to clear a hashes entries tried repeatedly, +but each time something added more entries to the hash. Most likely the hash +contains an object with a reference back to the hash and a destructor that +adds a new object to the hash. + =item panic: INTERPCASEMOD (P) The lexer got into a bad state at a case modifier. @@ -2926,10 +2987,6 @@ references to an object. (P) Something tried to allocate more memory than possible. -=item panic: null array - -(P) One of the internal array routines was passed a null AV pointer. - =item panic: pad_alloc (P) The compiler got confused about which scratch pad it was allocating @@ -3309,6 +3366,11 @@ are outside the range which can be represented by integers internally. One possible workaround is to force Perl to use magical string increment by prepending "0" to your numbers. +=item readdir() attempted on invalid dirhandle %s + +(W io) The dirhandle you're reading from is either closed or not really +a dirhandle. Check your control flow. + =item readline() on closed filehandle %s (W closed) The filehandle you're reading from got itself closed sometime @@ -3401,6 +3463,11 @@ terminates. You might use ^# instead. See L. (W syntax) You wrote your assignment operator backwards. The = must always comes last, to avoid ambiguity with subsequent unary operators. +=item rewinddir() attempted on invalid dirhandle %s + +(W io) The dirhandle you tried to do a rewinddir() on is either closed or not +really a dirhandle. Check your control flow. + =item Runaway format (F) Your format contained the ~~ repeat-until-blank sequence, but it @@ -3477,6 +3544,11 @@ the conditional expression, i.e. C<(foo) ? 0 : 1>. (W unopened) You tried to use the seek() or sysseek() function on a filehandle that was either never opened or has since been closed. +=item seekdir() attempted on invalid dirhandle %s + +(W io) The dirhandle you are doing a seekdir() on is either closed or not +really a dirhandle. Check your control flow. + =item select not implemented (F) This machine doesn't implement the select() system call. @@ -3834,6 +3906,11 @@ for Perl to reach. Perl is doing you a favor by refusing. (W unopened) You tried to use the tell() function on a filehandle that was either never opened or has since been closed. +=item telldir() attempted on invalid dirhandle %s + +(W io) The dirhandle you tried to telldir() is either closed or not really +a dirhandle. Check your control flow. + =item That use of $[ is unsupported (F) Assignment to C<$[> is now strictly circumscribed, and interpreted @@ -4642,6 +4719,11 @@ are automatically rebound to the current values of such variables. its equivalent C block found an internal inconsistency with the version number. +=item Version string '%s' contains invalid data; ignoring: '%s' + +(W misc) The version string contains invalid characters at the end, which +are being ignored. + =item v-string in use/require is non-portable (W portable) The use of v-strings is non-portable to older, pre-5.6, Perls.