X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldiag.pod;h=6a8148ca8e8245c7514963b240f769d543d8ad83;hb=4addbd3b37ffede9a798950435a751b9834e67d0;hp=8f7d0ec9d720e7a06a75de14581919e6f3ebb931;hpb=cb77fdf0e62f488063efd544deea3e13e215fac6;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 8f7d0ec..6a8148c 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -466,6 +466,24 @@ checking. Alternatively, if you are certain that you're calling the function correctly, you may put an ampersand before the name to avoid the warning. See L. +=item Can only compress unsigned integers + +(F) An argument to pack("w",...) was not an integer. The BER compressed +integer format can only be used with positive integers, and you attempted +to compress something else. See L. + +=item Cannot compress integer + +(F) An argument to pack("w",...) was too large to compress. The BER +compressed integer format can only be used with positive integers, and you +attempted to compress Infinity or a very large number (> 1e308). +See L. + +=item Cannot compress negative numbers + +(F) An argument to pack("w",...) was negative. The BER compressed integer +format can only be used with positive integers. See L. + =item / cannot take a count (F) You had an unpack template indicating a counted-length string, but @@ -1486,17 +1504,19 @@ PDP-11 or something? =item Filehandle %s opened only for input -(W io) You tried to write on a read-only filehandle. If you intended it -to be a read-write filehandle, you needed to open it with "+<" or "+>" -or "+>>" instead of with "<" or nothing. If you intended only to write -the file, use ">" or ">>". See L. +(W io) You tried to write on a read-only filehandle. If you intended +it to be a read-write filehandle, you needed to open it with "+<" or +"+>" or "+>>" instead of with "<" or nothing. If you intended only to +write the file, use ">" or ">>". See L. =item Filehandle %s opened only for output -(W io) You tried to read from a filehandle opened only for writing. -If you intended it to be a read/write filehandle, you needed to open it +(W io) You tried to read from a filehandle opened only for writing, If +you intended it to be a read/write filehandle, you needed to open it with "+<" or "+>" or "+>>" instead of with "<" or nothing. If you intended only to read from the file, use "<". See L. +Another possibility is that you attempted to open filedescriptor 0 +(also known as STDIN) for output (maybe you closed STDIN earlier?). =item Filehandle %s reopened as %s only for input @@ -1696,6 +1716,11 @@ to your Perl administrator. (W syntax) An illegal character was found in a prototype declaration. Legal characters in prototypes are $, @, %, *, ;, [, ], &, and \. +=item Illegal declaration of anonymous subroutine + +(F) When using the C keyword to construct an anonymous subroutine, +you must always specify a block of code. See L. + =item Illegal division by zero (F) You tried to divide a number by 0. Either something was wrong in @@ -1782,9 +1807,9 @@ the world. See L. (F) You can't use system(), exec(), or a piped open in a setuid or setgid script if any of C<$ENV{PATH}>, C<$ENV{IFS}>, C<$ENV{CDPATH}>, -C<$ENV{ENV}> or C<$ENV{BASH_ENV}> are derived from data supplied (or -potentially supplied) by the user. The script must set the path to a -known value, using trustworthy data. See L. +C<$ENV{ENV}>, C<$ENV{BASH_ENV}> or C<$ENV{TERM}> are derived from data +supplied (or potentially supplied) by the user. The script must set +the path to a known value, using trustworthy data. See L. =item Integer overflow in %s number @@ -1798,6 +1823,15 @@ transparently promotes all numbers to a floating point representation internally--subject to loss of precision errors in subsequent operations. +=item Integer overflow in version + +(F) Some portion of a version initialization is too large for the +size of integers for your architecture. This is not a warning +because there is no rational reason for a version to try and use a +element larger than typically 2**32. This is usually caused by +trying to use some odd mathematical operation as a version, like +100/9. + =item Internal disaster in regex; marked by <-- HERE in m/%s/ (P) Something went badly wrong in the regular expression parser. @@ -1874,6 +1908,17 @@ L. (W unpack) The given character is not a valid unpack type but used to be silently ignored. +=item Invalid version format (multiple underscores) + +(F) Versions may contain at most a single underscore, which signals +that the version is a beta release. See L for the allowed +version formats. + +=item Invalid version format (underscores before decimal) + +(F) Versions may not contain decimals after the optional underscore. +See L for the allowed version formats. + =item ioctl is not implemented (F) Your machine apparently doesn't implement ioctl(), which is pretty @@ -2044,6 +2089,11 @@ double-quotish context. C construction, but the command was missing or blank. +=item Missing control char name in \c + +(F) A double-quoted string ended with "\c", without the required control +character name. + =item Missing name in "my sub" (F) The reserved syntax for lexically scoped subroutines requires that @@ -3050,6 +3100,14 @@ 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 read() on closed filehandle %s + +(W closed) You tried to read from a closed filehandle. + +=item read() on unopened filehandle %s + +(W unopened) You tried to read from a filehandle that was never opened. + =item readline() on closed filehandle %s (W closed) The filehandle you're reading from got itself closed sometime @@ -3135,14 +3193,6 @@ signed integers. See L. (F) You can't specify a repeat count so large that it overflows your signed integers. See L. -=item Result from %s larger than %d bytes - -(W misc) A library call like getgrent() tried to return more results -than Perl was willing to accept. This happens only when Perl has been -compiled to have threads and to have an upper limit on such calls -(the default is to keep regrowing the result buffer until the result fits). -However, now the results were truncated. - =item Reversed %s= operator (W syntax) You wrote your assignment operator backwards. The = must @@ -3204,6 +3254,11 @@ or setgid bit set. This doesn't make much sense. construct. Remember that bracketing delimiters count nesting level. Missing the leading C<$> from a variable C<$m> may cause this error. +Note that since Perl 5.9.0 a // can also be the I +construct, not just the empty search pattern. Therefore code written +in Perl 5.9.0 or later that uses the // as the I can be +misparsed by pre-5.9.0 Perls as a non-terminated search pattern. + =item %sseek() on unopened filehandle (W unopened) You tried to use the seek() or sysseek() function on a @@ -3527,6 +3582,14 @@ or "my $var" or "our $var". (F) The final summary message when a C succeeds. +=item sysread() on closed filehandle %s + +(W closed) You tried to read from a closed filehandle. + +=item sysread() on unopened filehandle %s + +(W unopened) You tried to read from a filehandle that was never opened. + =item System V %s is not implemented on this machine (F) You tried to do something with a function beginning with "sem", @@ -3605,6 +3668,13 @@ target of the change to (F) Your version of the C library apparently doesn't do times(). I suspect you're not running on Unix. +=item To%s: illegal mapping '%s' + +(F) You tried to define a customized To-mapping for lc(), lcfirst, +uc(), or ucfirst() (or their string-inlined versions), but you +specified an illegal mapping. +See L. + =item Too few args to syscall (F) There has to be at least one argument to syscall() to specify the