X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldiag.pod;h=6a8148ca8e8245c7514963b240f769d543d8ad83;hb=4addbd3b37ffede9a798950435a751b9834e67d0;hp=4e7ff06b3d6bdaac11639cd30c5661cf4af04e1f;hpb=0258719bae4c02bba26598151f1f335a54f43190;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 4e7ff06..6a8148c 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1504,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 @@ -1714,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 @@ -1800,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 @@ -1816,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. @@ -1892,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 @@ -2062,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 @@ -3068,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 @@ -3214,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 @@ -3537,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", @@ -3615,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