X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldiag.pod;h=37710b9a45c774a615a7355b31f4b8da59bbf2a1;hb=b31b80f9d91ded188b47dd78c18a0a1effe2584d;hp=10b77c9c532af76b9633b0a3e02b5ba528852d43;hpb=9a2ff54bd438cc69afafd5eb1abfa632ccd44708;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 10b77c9..37710b9 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -689,11 +689,11 @@ editor will have a way to help you find these characters. =item Can't find %s property definition %s -(F) You may have tried to use C<\p> which means a Unicode property for -example \p{Lu} is all uppercase letters. if you did mean to use a +(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 -C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, until +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 @@ -1498,13 +1498,25 @@ PDP-11 or something? 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. +The warning will also occur if STDOUT (file descriptor 1) or STDERR +(file descriptor 2) is opened for input, this is a pre-emptive warning in +case some other part of your program or a child process is expecting STDOUT +and STDERR to be writable. This can happen accidentally if you +C or STDERR and then C an unrelated handle which +will resuse the lowest numbered available descriptor. =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. +The warning will also occur if STDIN (file descriptor 0) is opened +for output - this is a pre-emptive warning in case some other part of your +program or a child process is expecting STDIN to be readable. +This can happen accidentally if you C and then C an +unrelated handle which will resuse the lowest numbered available +descriptor. =item Final $ should be \$ or $name @@ -3017,7 +3029,7 @@ declared or defined with a different function prototype. =item Prototype not terminated -(F) You've omitted the closing parenthesis in a function prototype +(F) You've omitted the closing parenthesis in a function prototype definition. =item Quantifier in {,} bigger than %d in regex; @@ -4134,7 +4146,7 @@ defined B feature. Use an explicit printf() or sprintf() instead. =item Use of reference "%s" as array index -(W) You tried to use a reference as an array index; this probably +(W misc) You tried to use a reference as an array index; this probably isn't what you mean, because references in numerical context tend to be huge numbers, and so usually indicates programmer error. @@ -4154,7 +4166,7 @@ a package qualifier, e.g. C<&our()>, or C. =item Use of tainted arguments in %s is deprecated -(W taint) You have supplied C or C with multiple +(W taint) You have supplied C or C with multiple arguments and at least one of them is tainted. This used to be allowed but will become a fatal error in a future version of perl. Untaint your arguments. See L. @@ -4293,7 +4305,7 @@ the version number. =item v-string in use/require is non-portable -(W) The use of v-strings is non-portable to older, pre-5.6, Perls. +(W portable) The use of v-strings is non-portable to older, pre-5.6, Perls. If you want your scripts to be backward portable, use the floating point version number: for example, instead of C say C. This of course won't help: the older Perls