doubled words in pods (from Simon Cozens
[p5sagit/p5-mst-13.2.git] / pod / perldiag.pod
index cd1b73f..659e153 100644 (file)
@@ -15,8 +15,8 @@ desperation):
     (X) A very fatal error (nontrappable).
     (A) An alien error message (not generated by Perl).
 
-The majority of messages from the first three classifications above (W,
-D & S) can be controlled using the C<warnings> pragma. 
+The majority of messages from the first three classifications above
+(W, D & S) can be controlled using the C<warnings> pragma. 
 
 If a message can be controlled by the C<warnings> pragma, its warning
 category is included with the classification letter in the description
@@ -46,8 +46,8 @@ letter.
 
 =item accept() on closed socket %s
 
-(W closed) You tried to do an accept on a closed socket.  Did you forget to check
-the return value of your socket() call?  See L<perlfunc/accept>.
+(W closed) You tried to do an accept on a closed socket.  Did you forget to
+check the return value of your socket() call?  See L<perlfunc/accept>.
 
 =item Allocation too large: %lx
 
@@ -60,10 +60,10 @@ See L<perlfunc/pack>.
 
 =item Ambiguous call resolved as CORE::%s(), qualify as such or use &
 
-(W ambiguous) A subroutine you have declared has the same name as a Perl keyword,
-and you have used the name without qualification for calling one or the
-other.  Perl decided to call the builtin because the subroutine is
-not imported.
+(W ambiguous) A subroutine you have declared has the same name as a Perl
+keyword, and you have used the name without qualification for calling one or
+the other.  Perl decided to call the builtin because the subroutine is not
+imported.
 
 To force interpretation as a subroutine call, either put an ampersand
 before the subroutine name, or qualify the name with its package.
@@ -104,12 +104,12 @@ streams, such as
 
 =item Applying %s to %s will act on scalar(%s)
 
-(W misc) The pattern match (//), substitution (s///), and transliteration (tr///)
-operators work on scalar values.  If you apply one of them to an array
-or a hash, it will convert the array or hash to a scalar value -- the
-length of an array, or the population info of a hash -- and then work on
-that scalar value.  This is probably not what you meant to do.  See
-L<perlfunc/grep> and L<perlfunc/map> for alternatives.
+(W misc) The pattern match (//), substitution (s///), and transliteration
+(tr///) operators work on scalar values.  If you apply one of them to an array
+or a hash, it will convert the array or hash to a scalar value -- the length
+of an array, or the population info of a hash -- and then work on that scalar
+value.  This is probably not what you meant to do.  See L<perlfunc/grep> and
+L<perlfunc/map> for alternatives.
 
 =item Args must match #! line
 
@@ -149,13 +149,13 @@ name, and not a subroutine call.  C<exists &sub()> will generate this error.
 =item Argument "%s" isn't numeric%s
 
 (W numeric) The indicated string was fed as an argument to an operator that
-expected a numeric value instead.  If you're fortunate the message
-will identify which operator was so unfortunate.
+expected a numeric value instead.  If you're fortunate the message will
+identify which operator was so unfortunate.
 
 =item Array @%s missing the @ in argument %d of %s()
 
-(D deprecated) Really old Perl let you omit the @ on array names in some spots.  This
-is now heavily deprecated.
+(D deprecated) Really old Perl let you omit the @ on array names in some
+spots.  This is now heavily deprecated.
 
 =item assertion botched: %s
 
@@ -174,23 +174,22 @@ know which context to supply to the right side.
 =item Attempt to free non-arena SV: 0x%lx
 
 (P internal) All SV objects are supposed to be allocated from arenas that will
-be garbage collected on exit.  An SV was discovered to be outside any
-of those arenas.
+be garbage collected on exit.  An SV was discovered to be outside any of those
+arenas.
 
 =item Attempt to free nonexistent shared string
 
 (P internal) Perl maintains a reference counted internal table of strings to
 optimize the storage and access of hash keys and other strings.  This
-indicates someone tried to decrement the reference count of a string
-that can no longer be found in the table.
+indicates someone tried to decrement the reference count of a string that can
+no longer be found in the table.
 
 =item Attempt to free temp prematurely
 
 (W debugging) Mortalized values are supposed to be freed by the free_tmps()
-routine.  This indicates that something else is freeing the SV before
-the free_tmps() routine gets a chance, which means that the free_tmps()
-routine will be freeing an unreferenced scalar when it does try to free
-it.
+routine.  This indicates that something else is freeing the SV before the
+free_tmps() routine gets a chance, which means that the free_tmps() routine
+will be freeing an unreferenced scalar when it does try to free it.
 
 =item Attempt to free unreferenced glob pointers
 
@@ -198,12 +197,12 @@ it.
 
 =item Attempt to free unreferenced scalar
 
-(W internal) Perl went to decrement the reference count of a scalar to see if it
-would go to 0, and discovered that it had already gone to 0 earlier,
-and should have been freed, and in fact, probably was freed.  This
-could indicate that SvREFCNT_dec() was called too many times, or that
-SvREFCNT_inc() was called too few times, or that the SV was mortalized
-when it shouldn't have been, or that memory has been corrupted.
+(W internal) Perl went to decrement the reference count of a scalar to see if
+it would go to 0, and discovered that it had already gone to 0 earlier, and
+should have been freed, and in fact, probably was freed.  This could indicate
+that SvREFCNT_dec() was called too many times, or that SvREFCNT_inc() was
+called too few times, or that the SV was mortalized when it shouldn't have
+been, or that memory has been corrupted.
 
 =item Attempt to join self
 
@@ -213,18 +212,17 @@ need to move the join() to some other thread.
 
 =item Attempt to pack pointer to temporary value
 
-(W pack) You tried to pass a temporary value (like the result of a
-function, or a computed expression) to the "p" pack() template.  This
-means the result contains a pointer to a location that could become
-invalid anytime, even before the end of the current statement.  Use
-literals or global values as arguments to the "p" pack() template to
-avoid this warning.
+(W pack) You tried to pass a temporary value (like the result of a function,
+or a computed expression) to the "p" pack() template.  This means the result
+contains a pointer to a location that could become invalid anytime, even
+before the end of the current statement.  Use literals or global values as
+arguments to the "p" pack() template to avoid this warning.
 
 =item Attempt to use reference as lvalue in substr
 
-(W substr) You supplied a reference as the first argument to substr() used
-as an lvalue, which is pretty strange.  Perhaps you forgot to
-dereference it first.  See L<perlfunc/substr>.
+(W substr) You supplied a reference as the first argument to substr() used as
+an lvalue, which is pretty strange.  Perhaps you forgot to dereference it
+first.  See L<perlfunc/substr>.
 
 =item Bad arg length for %s, is %d, should be %d
 
@@ -248,13 +246,12 @@ did it in another package.
 =item Bad free() ignored
 
 (S malloc) An internal routine called free() on something that had never been
-malloc()ed in the first place. Mandatory, but can be disabled by
-setting environment variable C<PERL_BADFREE> to 1.
+malloc()ed in the first place. Mandatory, but can be disabled by setting
+environment variable C<PERL_BADFREE> to 1.
 
-This message can be quite often seen with DB_File on systems with
-"hard" dynamic linking, like C<AIX> and C<OS/2>. It is a bug of
-C<Berkeley DB> which is left unnoticed if C<DB> uses I<forgiving>
-system malloc().
+This message can be quite often seen with DB_File on systems with "hard"
+dynamic linking, like C<AIX> and C<OS/2>. It is a bug of C<Berkeley DB> which
+is left unnoticed if C<DB> uses I<forgiving> system malloc().
 
 =item Bad hash
 
@@ -288,9 +285,9 @@ is not the same as
 
 =item Bad realloc() ignored
 
-(S malloc) An internal routine called realloc() on something that had never been
-malloc()ed in the first place. Mandatory, but can be disabled by
-setting environment variable C<PERL_BADFREE> to 1.
+(S malloc) An internal routine called realloc() on something that had never
+been malloc()ed in the first place. Mandatory, but can be disabled by setting
+environment variable C<PERL_BADFREE> to 1.
 
 =item Bad symbol for array
 
@@ -310,8 +307,8 @@ wasn't a symbol table entry.
 =item Bareword found in conditional
 
 (W bareword) The compiler found a bareword where it expected a conditional,
-which often indicates that an || or && was parsed as part of the
-last argument of the previous construct, for example:
+which often indicates that an || or && was parsed as part of the last argument
+of the previous construct, for example:
 
     open FOO || die;
 
@@ -351,10 +348,10 @@ likely depends on its correct operation, Perl just gave up.
 =item \1 better written as $1
 
 (W syntax) Outside of patterns, backreferences live on as variables.  The use
-of backslashes is grandfathered on the right-hand side of a
-substitution, but stylistically it's better to use the variable form
-because other Perl programmers will expect it, and it works better
-if there are more than 9 backreferences.
+of backslashes is grandfathered on the right-hand side of a substitution, but
+stylistically it's better to use the variable form because other Perl
+programmers will expect it, and it works better if there are more than 9
+backreferences.
 
 =item Binary number > 0b11111111111111111111111111111111 non-portable
 
@@ -382,9 +379,9 @@ which provides a race condition that breaks security.
 
 =item Buffer overflow in prime_env_iter: %s
 
-(W internal) A warning peculiar to VMS.  While Perl was preparing to iterate over
-%ENV, it encountered a logical name or symbol definition which was too long,
-so it was truncated to the string shown.
+(W internal) A warning peculiar to VMS.  While Perl was preparing to iterate
+over %ENV, it encountered a logical name or symbol definition which was too
+long, so it was truncated to the string shown.
 
 =item Callback called exit
 
@@ -393,13 +390,13 @@ exited by calling exit.
 
 =item %s() called too early to check prototype
 
-(W prototype) You've called a function that has a prototype before the parser saw a
-definition or declaration for it, and Perl could not check that the call
+(W prototype) You've called a function that has a prototype before the parser
+saw a definition or declaration for it, and Perl could not check that the call
 conforms to the prototype.  You need to either add an early prototype
-declaration for the subroutine in question, or move the subroutine
-definition ahead of the call to get proper prototype 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<perlsub>.
+declaration for the subroutine in question, or move the subroutine definition
+ahead of the call to get proper prototype 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<perlsub>.
 
 =item / cannot take a count
 
@@ -414,9 +411,9 @@ encapsulation of objects.  See L<perlobj>.
 
 =item Can't break at that line
 
-(S internal) A warning intended to only be printed while running within the debugger, indicating
-the line number specified wasn't the location of a statement that could
-be stopped at.
+(S internal) A warning intended to only be printed while running within the
+debugger, indicating the line number specified wasn't the location of a
+statement that could be stopped at.
 
 =item Can't call method "%s" in empty package "%s"
 
@@ -566,10 +563,10 @@ For example, it'd be kind of silly to put a B<-x> on the #! line.
 
 (W exec) An system(), exec(), or piped open call could not execute the named
 program for the indicated reason.  Typical reasons include: the permissions
-were wrong on the file, the file wasn't found in C<$ENV{PATH}>, the
-executable in question was compiled for another architecture, or the
-#! line in a script points to an interpreter that can't be run for
-similar reasons.  (Or maybe your system doesn't support #! at all.)
+were wrong on the file, the file wasn't found in C<$ENV{PATH}>, the executable
+in question was compiled for another architecture, or the #! line in a script
+points to an interpreter that can't be run for similar reasons.  (Or maybe
+your system doesn't support #! at all.)
 
 =item Can't exec %s
 
@@ -673,11 +670,11 @@ L<perlfunc/goto>.
 =item Can't ignore signal CHLD, forcing to default
 
 (W signal) Perl has detected that it is being run with the SIGCHLD signal
-(sometimes known as SIGCLD) disabled.  Since disabling this signal
-will interfere with proper determination of exit status of child
-processes, Perl has reset the signal to its default value.
-This situation typically indicates that the parent program under
-which Perl may be running (e.g. cron) is being very careless.
+(sometimes known as SIGCLD) disabled.  Since disabling this signal will
+interfere with proper determination of exit status of child processes, Perl
+has reset the signal to its default value.  This situation typically indicates
+that the parent program under which Perl may be running (e.g. cron) is being
+very careless.
 
 =item Can't "last" outside a loop block
 
@@ -735,8 +732,8 @@ method, nor does any of its base classes.  See L<perlobj>.
 
 =item Can't locate package %s for @%s::ISA
 
-(W syntax) The @ISA array contained the name of another package that doesn't seem
-to exist.
+(W syntax) The @ISA array contained the name of another package that doesn't
+seem to exist.
 
 =item Can't make list assignment to \%ENV on this system
 
@@ -781,10 +778,10 @@ on the command line.
 
 =item Can't open bidirectional pipe
 
-(W pipe) You tried to say C<open(CMD, "|cmd|")>, which is not supported.  You can
-try any of several modules in the Perl library to do this, such as
-IPC::Open2.  Alternately, direct the pipe's output to a file using ">",
-and then read it in under a different file handle.
+(W pipe) You tried to say C<open(CMD, "|cmd|")>, which is not supported.  You
+can try any of several modules in the Perl library to do this, such as
+IPC::Open2.  Alternately, direct the pipe's output to a file using ">", and
+then read it in under a different file handle.
 
 =item Can't open error file %s as stderr
 
@@ -975,11 +972,11 @@ didn't look like an array reference, or anything else subscriptable.
 
 =item Can't use \%c to mean $%c in expression
 
-(W syntax) In an ordinary expression, backslash is a unary operator that creates
-a reference to its argument.  The use of backslash to indicate a backreference
-to a matched substring is valid only as part of a regular 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.
+(W syntax) In an ordinary expression, backslash is a unary operator that
+creates a reference to its argument.  The use of backslash to indicate a
+backreference to a matched substring is valid only as part of a regular
+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 weaken a nonreference
 
@@ -995,26 +992,25 @@ Perhaps you need to copy the value to a temporary, and repeat that.
 =item Character class syntax [%s] belongs inside character classes
 
 (W unsafe) The character class constructs [: :], [= =], and [. .]  go
-I<inside> character classes, the [] are part of the construct,
-for example: /[012[:alpha:]345]/.  Note that [= =] and [. .]
-are not currently implemented; they are simply placeholders for
-future extensions.
+I<inside> character classes, the [] are part of the construct, for example:
+/[012[:alpha:]345]/.  Note that [= =] and [. .] are not currently implemented;
+they are simply placeholders for future extensions.
 
 =item Character class syntax [. .] is reserved for future extensions
 
-(W regexp) Within regular expression character classes ([]) the syntax beginning
-with "[." and ending with ".]" is reserved for future extensions.
-If you need to represent those character sequences inside a regular
-expression character class, just quote the square brackets with the
-backslash: "\[." and ".\]".
+(W regexp) Within regular expression character classes ([]) the syntax
+beginning with "[." and ending with ".]" is reserved for future extensions.
+If you need to represent those character sequences inside a regular expression
+character class, just quote the square brackets with the backslash: "\[." and
+".\]".
 
 =item Character class syntax [= =] is reserved for future extensions
 
 (W regexp) Within regular expression character classes ([]) the syntax
 beginning with "[=" and ending with "=]" is reserved for future extensions.
-If you need to represent those character sequences inside a regular
-expression character class, just quote the square brackets with the
-backslash: "\[=" and "=\]".
+If you need to represent those character sequences inside a regular expression
+character class, just quote the square brackets with the backslash: "\[=" and
+"=\]".
 
 =item Character class [:%s:] unknown
 
@@ -1049,19 +1045,18 @@ were severe enough to halt compilation immediately.
 =item Complex regular subexpression recursion limit (%d) exceeded
 
 (W regexp) The regular expression engine uses recursion in complex situations
-where back-tracking is required.  Recursion depth is limited to 32766,
-or perhaps less in architectures where the stack cannot grow
-arbitrarily.  ("Simple" and "medium" situations are handled without
-recursion and are not subject to a limit.)  Try shortening the string
-under examination; looping in Perl code (e.g. with C<while>) rather
-than in the regular expression engine; or rewriting the regular
-expression so that it is simpler or backtracks less.  (See L<perlbook>
-for information on I<Mastering Regular Expressions>.)
+where back-tracking is required.  Recursion depth is limited to 32766, or
+perhaps less in architectures where the stack cannot grow arbitrarily.
+("Simple" and "medium" situations are handled without recursion and are not
+subject to a limit.)  Try shortening the string under examination; looping in
+Perl code (e.g. with C<while>) rather than in the regular expression engine;
+or rewriting the regular expression so that it is simpler or backtracks less.
+(See L<perlbook> for information on I<Mastering Regular Expressions>.)
 
 =item connect() on closed socket %s
 
-(W closed) You tried to do a connect on a closed socket.  Did you forget to check
-the return value of your socket() call?  See L<perlfunc/connect>.
+(W closed) You tried to do a connect on a closed socket.  Did you forget to
+check the return value of your socket() call?  See L<perlfunc/connect>.
 
 =item constant(%s): %s
 
@@ -1087,8 +1082,7 @@ workarounds.
 =item Constant subroutine %s undefined
 
 (W misc) You undefined a subroutine which had previously been eligible for
-inlining.  See L<perlsub/"Constant Functions"> for commentary and
-workarounds.
+inlining.  See L<perlsub/"Constant Functions"> for commentary and workarounds.
 
 =item Copy method did not return a reference
 
@@ -1127,8 +1121,8 @@ know about your kind of stdio.  You'll have to use a filename instead.
 
 (W recursion) This subroutine has called itself (directly or indirectly) 100
 times more than it has returned.  This probably indicates an infinite
-recursion, unless you're writing strange benchmark programs, in which
-case it indicates something else.
+recursion, unless you're writing strange benchmark programs, in which case it
+indicates something else.
 
 =item defined(@array) is deprecated
 
@@ -1261,36 +1255,36 @@ variable and glob that.
 
 =item Exiting eval via %s
 
-(W exiting) You are exiting an eval by unconventional means, such as
-a goto, or a loop control statement.
+(W exiting) You are exiting an eval by unconventional means, such as a goto,
+or a loop control statement.
 
 =item Exiting format via %s
 
-(W exiting) You are exiting an eval by unconventional means, such as
-a goto, or a loop control statement.
+(W exiting) You are exiting an eval by unconventional means, such as a goto,
+or a loop control statement.
 
 =item Exiting pseudo-block via %s
 
-(W exiting) You are exiting a rather special block construct (like a sort block or
-subroutine) by unconventional means, such as a goto, or a loop control
-statement.  See L<perlfunc/sort>.
+(W exiting) You are exiting a rather special block construct (like a sort
+block or subroutine) by unconventional means, such as a goto, or a loop
+control statement.  See L<perlfunc/sort>.
 
 =item Exiting subroutine via %s
 
-(W exiting) You are exiting a subroutine by unconventional means, such as
-a goto, or a loop control statement.
+(W exiting) You are exiting a subroutine by unconventional means, such as a
+goto, or a loop control statement.
 
 =item Exiting substitution via %s
 
-(W exiting) You are exiting a substitution by unconventional means, such as
-a return, a goto, or a loop control statement.
+(W exiting) You are exiting a substitution by unconventional means, such as a
+return, a goto, or a loop control statement.
 
 =item Explicit blessing to '' (assuming package main)
 
-(W misc) You are blessing a reference to a zero length string.  This has
-the effect of blessing the reference into the package main.  This is
-usually not what you want.  Consider providing a default target
-package, e.g. bless($ref, $p || 'MyPackage');
+(W misc) You are blessing a reference to a zero length string.  This has the
+effect of blessing the reference into the package main.  This is usually not
+what you want.  Consider providing a default target package, e.g. bless($ref,
+$p || 'MyPackage');
 
 =item %s: Expression syntax
 
@@ -1306,10 +1300,10 @@ routines has been prematurely ended.
 
 =item false [] range "%s" in regexp
 
-(W regexp) A character class range must start and end at a literal character, not
-another character class like C<\d> or C<[:alpha:]>.  The "-" in your false
-range is interpreted as a literal "-".  Consider quoting the "-",  "\-".
-See L<perlre>.
+(W regexp) A character class range must start and end at a literal character,
+not another character class like C<\d> or C<[:alpha:]>.  The "-" in your false
+range is interpreted as a literal "-".  Consider quoting the "-",  "\-".  See
+L<perlre>.
 
 =item Fatal VMS error at %s, line %d
 
@@ -1325,25 +1319,23 @@ PDP-11 or something?
 
 =item Filehandle %s never opened
 
-(W unopened) An I/O operation was attempted on a filehandle that was never initialized.
-You need to do an open() or a socket() call, or call a constructor from
-the FileHandle package.
+(W unopened) An I/O operation was attempted on a filehandle that was never
+initialized.  You need to do an open() or a socket() call, or call a
+constructor from the FileHandle package.
 
 =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<perlfunc/open>.
+(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<perlfunc/open>.
 
 =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 with
-"+<" or "+>" or "+>>" instead of with "<" or nothing.  If
-you intended only to read from the file, use "<".  See
-L<perlfunc/open>.
+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<perlfunc/open>.
 
 =item Final $ should be \$ or $name
 
@@ -1439,16 +1431,15 @@ is in (using "::").
 =item glob failed (%s)
 
 (W glob) Something went wrong with the external program(s) used for C<glob>
-and C<< <*.c> >>.  Usually, this means that you supplied a C<glob>
-pattern that caused the external program to fail and exit with a nonzero
-status.  If the message indicates that the abnormal exit resulted in a
-coredump, this may also mean that your csh (C shell) is broken.  If so,
-you should change all of the csh-related variables in config.sh:  If you
-have tcsh, make the variables refer to it as if it were csh (e.g.
-C<full_csh='/usr/bin/tcsh'>); otherwise, make them all empty (except that
-C<d_csh> should be C<'undef'>) so that Perl will think csh is missing.
-In either case, after editing config.sh, run C<./Configure -S> and
-rebuild Perl.
+and C<< <*.c> >>.  Usually, this means that you supplied a C<glob> pattern
+that caused the external program to fail and exit with a nonzero status.  If
+the message indicates that the abnormal exit resulted in a coredump, this may
+also mean that your csh (C shell) is broken.  If so, you should change all of
+the csh-related variables in config.sh:  If you have tcsh, make the variables
+refer to it as if it were csh (e.g.  C<full_csh='/usr/bin/tcsh'>); otherwise,
+make them all empty (except that C<d_csh> should be C<'undef'>) so that Perl
+will think csh is missing.  In either case, after editing config.sh, run
+C<./Configure -S> and rebuild Perl.
 
 =item Glob not terminated
 
@@ -1479,8 +1470,8 @@ an emergency basis to prevent a core dump.
 
 =item Hash %%s missing the % in argument %d of %s()
 
-(D deprecated) Really old Perl let you omit the % on hash names in some spots.  This
-is now heavily deprecated.
+(D deprecated) Really old Perl let you omit the % on hash names in some spots.
+This is now heavily deprecated.
 
 =item %s has too many errors
 
@@ -1506,8 +1497,9 @@ versions of Perl are likely to eliminate these arbitrary limitations.
 
 =item Illegal binary digit %s ignored
 
-(W digit) You may have tried to use a digit other than 0 or 1 in a binary number.
-Interpretation of the binary number stopped before the offending digit.
+(W digit) You may have tried to use a digit other than 0 or 1 in a binary
+number.  Interpretation of the binary number stopped before the offending
+digit.
 
 =item Illegal character %s (carriage return)
 
@@ -1524,9 +1516,9 @@ logic, or you need to put a conditional in to guard against meaningless input.
 
 =item Illegal hexadecimal digit %s ignored
 
-(W digit) You may have tried to use a character other than 0 - 9 or A - F, a - f
-in a hexadecimal number.  Interpretation of the hexadecimal number stopped
-before the illegal character.
+(W digit) You may have tried to use a character other than 0 - 9 or A - F,
+a - f in a hexadecimal number.  Interpretation of the hexadecimal number
+stopped before the illegal character.
 
 =item Illegal modulus zero
 
@@ -1544,8 +1536,8 @@ two from 1 to 32 (or 64, if your platform supports that).
 
 =item Illegal octal digit %s ignored
 
-(W digit) You may have tried to use an 8 or 9 in a octal number.  Interpretation
-of the octal number stopped before the 8 or 9.
+(W digit) You may have tried to use an 8 or 9 in a octal number.
+Interpretation of the octal number stopped before the 8 or 9.
 
 =item Illegal switch in PERL5OPT: %s
 
@@ -1554,28 +1546,26 @@ following switches: B<-[DIMUdmw]>.
 
 =item Ill-formed CRTL environ value "%s"
 
-(W internal) A warning peculiar to VMS.  Perl tried to read the CRTL's internal
-environ array, and encountered an element without the C<=> delimiter
+(W internal) A warning peculiar to VMS.  Perl tried to read the CRTL's
+internal environ array, and encountered an element without the C<=> delimiter
 used to separate keys from values.  The element is ignored.
 
 =item Ill-formed message in prime_env_iter: |%s|
 
-(W internal) A warning peculiar to VMS.  Perl tried to read a logical name
-or CLI symbol definition when preparing to iterate over %ENV, and
-didn't see the expected delimiter between key and value, so the
-line was ignored.
+(W internal) A warning peculiar to VMS.  Perl tried to read a logical name or
+CLI symbol definition when preparing to iterate over %ENV, and didn't see the
+expected delimiter between key and value, so the line was ignored.
 
 =item (in cleanup) %s
 
-(W misc) This prefix usually indicates that a DESTROY() method raised
-the indicated exception.  Since destructors are usually called by
-the system at arbitrary points during execution, and often a vast
-number of times, the warning is issued only once for any number
-of failures that would otherwise result in the same message being
-repeated.
+(W misc) This prefix usually indicates that a DESTROY() method raised the
+indicated exception.  Since destructors are usually called by the system at
+arbitrary points during execution, and often a vast number of times, the
+warning is issued only once for any number of failures that would otherwise
+result in the same message being repeated.
 
-Failure of user callbacks dispatched using the C<G_KEEPERR> flag
-could also result in this warning.  See L<perlcall/G_KEEPERR>.
+Failure of user callbacks dispatched using the C<G_KEEPERR> flag could also
+result in this warning.  See L<perlcall/G_KEEPERR>.
 
 =item Insecure dependency in %s
 
@@ -1613,8 +1603,8 @@ that an unbackslashed @ interpolates an array.)
 
 =item Integer overflow in %s number
 
-(W overflow) The hexadecimal, octal or binary number you have specified either
-as a literal or as an argument to hex() or oct() is too big for your
+(W overflow) The hexadecimal, octal or binary number you have specified
+either as a literal or as an argument to hex() or oct() is too big for your
 architecture, and has been converted to a floating point number.  On a
 32-bit architecture the largest hexadecimal, octal or binary number
 representable without overflow is 0xFFFFFFFF, 037777777777, or
@@ -1643,9 +1633,10 @@ and execute the specified command.
 
 =item %s (...) interpreted as function
 
-(W syntax) You've run afoul of the rule that says that any list operator followed
-by parentheses turns into a function, with all the list operators arguments
-found inside the parentheses.  See L<perlop/Terms and List Operators (Leftward)>.
+(W syntax) You've run afoul of the rule that says that any list operator
+followed by parentheses turns into a function, with all the list operators
+arguments found inside the parentheses.  See L<perlop/Terms and List Operators
+(Leftward)>.
 
 =item Invalid %s attribute: %s
 
@@ -1683,8 +1674,8 @@ ignored.
 =item Invalid type in unpack: '%s'
 
 (F) The given character is not a valid unpack type.  See L<perlfunc/unpack>.
-(W unpack) The given character is not a valid unpack type but used to be silently
-ignored.
+(W unpack) The given character is not a valid unpack type but used to be
+silently ignored.
 
 =item ioctl is not implemented
 
@@ -1720,8 +1711,8 @@ effective uids or gids failed.
 
 =item listen() on closed socket %s
 
-(W closed) You tried to do a listen on a closed socket.  Did you forget to check
-the return value of your socket() call?  See L<perlfunc/listen>.
+(W closed) You tried to do a listen on a closed socket.  Did you forget to
+check the return value of your socket() call?  See L<perlfunc/listen>.
 
 =item Lvalue subs returning %s not implemented yet
 
@@ -1855,8 +1846,8 @@ about C<-M>.
 
 =item Multidimensional syntax %s not supported
 
-(W syntax) Multidimensional arrays aren't written like C<$foo[1,2,3]>.  They're written
-like C<$foo[1][2][3]>, as in C.
+(W syntax) Multidimensional arrays aren't written like C<$foo[1,2,3]>.
+They're written like C<$foo[1][2][3]>, as in C.
 
 =item / must be followed by a*, A* or Z*
 
@@ -2055,8 +2046,9 @@ is usually set up with the 'fields' pragma.
 
 =item No such signal: SIG%s
 
-(W signal) You specified a signal name as a subscript to %SIG that was not recognized.
-Say C<kill -l> in your shell to see the valid signal names on your system.
+(W signal) You specified a signal name as a subscript to %SIG that was not
+recognized.  Say C<kill -l> in your shell to see the valid signal names on
+your system.
 
 =item Not a CODE reference
 
@@ -2178,9 +2170,9 @@ version.
 
 =item Octal number > 037777777777 non-portable
 
-(W portable) The octal number you specified is larger than 2**32-1 (4294967295)
-and therefore non-portable between systems.  See L<perlport> for more
-on portability concerns.
+(W portable) The octal number you specified is larger than 2**32-1
+(4294967295) and therefore non-portable between systems.  See L<perlport> for
+more on portability concerns.
 
 See also L<perlport> for writing portable code.
 
@@ -2267,9 +2259,9 @@ the string being unpacked.  See L<perlfunc/pack>.
 
 =item %s package attribute may clash with future reserved word: %s
 
-(W reserved) A lowercase attribute name was used that had a package-specific handler.
-That name might have a meaning to Perl itself some day, even though it
-doesn't yet.  Perhaps you should use a mixed-case attribute name, instead.
+(W reserved) A lowercase attribute name was used that had a package-specific
+handler.  That name might have a meaning to Perl itself some day, even though
+it doesn't yet.  Perhaps you should use a mixed-case attribute name, instead.
 See L<attributes>.
 
 =item page overflow
@@ -2451,7 +2443,7 @@ when you meant
 
 Remember that "my", "our", and "local" bind tighter than comma.
 
-=item Perl %3.3f required--this is only version %s, stopped
+=item Perl %s required--this is only version %s, stopped
 
 (F) The module in question uses features of a version of Perl more recent
 than the currently running version.  How long has it been since you upgraded,
@@ -2489,8 +2481,8 @@ fix the problem can be found in L<perllocale> section B<LOCALE PROBLEMS>.
 
 =item pid %x not a child
 
-(W exec) A warning peculiar to VMS.  Waitpid() was asked to wait for a process which
-isn't a subprocess of the current process.  While this is fine from VMS'
+(W exec) A warning peculiar to VMS.  Waitpid() was asked to wait for a process
+which isn't a subprocess of the current process.  While this is fine from VMS'
 perspective, it's probably not what you intended.
 
 =item POSIX getpgrp can't take an argument
@@ -2501,9 +2493,9 @@ the BSD version, which takes a pid.
 =item Possible attempt to put comments in qw() list
 
 (W qw) qw() lists contain items separated by whitespace; as with literal
-strings, comment characters are not ignored, but are instead treated
-as literal data.  (You may have used different delimiters than the
-parentheses shown here; braces are also frequently used.)
+strings, comment characters are not ignored, but are instead treated as
+literal data.  (You may have used different delimiters than the parentheses
+shown here; braces are also frequently used.)
 
 You probably wrote something like this:
 
@@ -2594,13 +2586,13 @@ See Server error.
 
 =item printf() on closed filehandle %s
 
-(W closed) The filehandle you're writing to got itself closed sometime before now.
-Check your logic flow.
+(W closed) The filehandle you're writing to got itself closed sometime before
+now.  Check your logic flow.
 
 =item print() on closed filehandle %s
 
-(W closed) The filehandle you're printing on got itself closed sometime before now.
-Check your logic flow.
+(W closed) The filehandle you're printing on got itself closed sometime before
+now.  Check your logic flow.
 
 =item Process terminated by SIG%s
 
@@ -2624,8 +2616,8 @@ increment by prepending "0" to your numbers.
 
 =item readline() on closed filehandle %s
 
-(W closed) The filehandle you're reading from got itself closed sometime before now.
-Check your logic flow.
+(W closed) The filehandle you're reading from got itself closed sometime
+before now.  Check your logic flow.
 
 =item Reallocation too large: %lx
 
@@ -2713,12 +2705,13 @@ shifting or popping (for array variables).  See L<perlform>.
 
 =item Scalar value @%s[%s] better written as $%s[%s]
 
-(W syntax) You've used an array slice (indicated by @) to select a single element of
-an array.  Generally it's better to ask for a scalar value (indicated by $).
-The difference is that C<$foo[&bar]> always behaves like a scalar, both when
-assigning to it and when evaluating its argument, while C<@foo[&bar]> behaves
-like a list when you assign to it, and provides a list context to its
-subscript, which can do weird things if you're expecting only one subscript.
+(W syntax) You've used an array slice (indicated by @) to select a single
+element of an array.  Generally it's better to ask for a scalar value
+(indicated by $).  The difference is that C<$foo[&bar]> always behaves like a
+scalar, both when assigning to it and when evaluating its argument, while
+C<@foo[&bar]> behaves like a list when you assign to it, and provides a list
+context to its subscript, which can do weird things if you're expecting only
+one subscript.
 
 On the other hand, if you were actually hoping to treat the array
 element as a list, you need to look into how references work, because
@@ -2727,12 +2720,13 @@ L<perlref>.
 
 =item Scalar value @%s{%s} better written as $%s{%s}
 
-(W syntax) You've used a hash slice (indicated by @) to select a single element of
-a hash.  Generally it's better to ask for a scalar value (indicated by $).
-The difference is that C<$foo{&bar}> always behaves like a scalar, both when
-assigning to it and when evaluating its argument, while C<@foo{&bar}> behaves
-like a list when you assign to it, and provides a list context to its
-subscript, which can do weird things if you're expecting only one subscript.
+(W syntax) You've used a hash slice (indicated by @) to select a single
+element of a hash.  Generally it's better to ask for a scalar value (indicated
+by $).  The difference is that C<$foo{&bar}> always behaves like a scalar,
+both when assigning to it and when evaluating its argument, while
+C<@foo{&bar}> behaves like a list when you assign to it, and provides a list
+context to its subscript, which can do weird things if you're expecting only
+one subscript.
 
 On the other hand, if you were actually hoping to treat the hash
 element as a list, you need to look into how references work, because
@@ -2752,8 +2746,8 @@ Missing the leading C<$> from a variable C<$m> may cause this error.
 
 =item %sseek() on unopened file
 
-(W unopened) You tried to use the seek() or sysseek() function on a filehandle that
-was either never opened or has since been closed.
+(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 select not implemented
 
@@ -2761,8 +2755,8 @@ was either never opened or has since been closed.
 
 =item Semicolon seems to be missing
 
-(W semicolon) A nearby syntax error was probably caused by a missing semicolon,
-or possibly some other missing operator, such as a comma.
+(W semicolon) A nearby syntax error was probably caused by a missing
+semicolon, or possibly some other missing operator, such as a comma.
 
 =item semi-panic: attempt to dup freed string
 
@@ -2886,12 +2880,13 @@ which is probably not what you had in mind.
 
 =item shutdown() on closed socket %s
 
-(W closed) You tried to do a shutdown on a closed socket.  Seems a bit superfluous.
+(W closed) You tried to do a shutdown on a closed socket.  Seems a bit
+superfluous.
 
 =item SIG%s handler "%s" not defined
 
-(W signal) The signal handler named in %SIG doesn't, in fact, exist.  Perhaps you
-put it into the wrong package?
+(W signal) The signal handler named in %SIG doesn't, in fact, exist.  Perhaps
+you put it into the wrong package?
 
 =item sort is now a reserved word
 
@@ -2931,10 +2926,10 @@ on a filehandle that was either never opened or has since been closed.
 =item Strange *+?{} on zero-length expression
 
 (W regexp) You applied a regular expression quantifier in a place where it
-makes no sense, such as on a zero-width assertion.
-Try putting the quantifier inside the assertion instead.  For example,
-the way to match "abc" provided that it is followed by three
-repetitions of "xyz" is C</abc(?=(?:xyz){3})/>, not C</abc(?=xyz){3}/>.
+makes no sense, such as on a zero-width assertion.  Try putting the quantifier
+inside the assertion instead.  For example, the way to match "abc" provided
+that it is followed by three repetitions of "xyz" is C</abc(?=(?:xyz){3})/>,
+not C</abc(?=xyz){3}/>.
 
 =item Stub found while resolving method `%s' overloading `%s' in package `%s'
 
@@ -2973,10 +2968,10 @@ Missing the leading C<$> from variable C<$s> may cause this error.
 =item substr outside of string
 
 (W substr),(F) You tried to reference a substr() that pointed outside of a
-string.  That is, the absolute value of the offset was larger than the
-length of the string.  See L<perlfunc/substr>.  This warning is
-fatal if substr is used in an lvalue context (as the left hand side
-of an assignment or as a subroutine argument for example).
+string.  That is, the absolute value of the offset was larger than the length
+of the string.  See L<perlfunc/substr>.  This warning is fatal if substr is
+used in an lvalue context (as the left hand side of an assignment or as a
+subroutine argument for example).
 
 =item suidperl is no longer needed since %s
 
@@ -3028,8 +3023,8 @@ unconfigured.  Consult your system support.
 
 =item syswrite() on closed filehandle %s
 
-(W closed) The filehandle you're writing to got itself closed sometime before now.
-Check your logic flow.
+(W closed) The filehandle you're writing to got itself closed sometime before
+now.  Check your logic flow.
 
 =item Target of goto is too deeply nested
 
@@ -3038,13 +3033,13 @@ nested for Perl to reach.  Perl is doing you a favor by refusing.
 
 =item tell() on unopened file
 
-(W unopened) You tried to use the tell() function on a filehandle that was either
-never opened or has since been closed.
+(W unopened) You tried to use the tell() function on a filehandle that was
+either never opened or has since been closed.
 
 =item Test on unopened file <%s>
 
-(W unopened) You tried to invoke a file test operator on a filehandle that isn't
-open.  Check your logic.  See also L<perlfunc/-X>.
+(W unopened) You tried to invoke a file test operator on a filehandle that
+isn't open.  Check your logic.  See also L<perlfunc/-X>.
 
 =item That use of $[ is unsupported
 
@@ -3084,8 +3079,8 @@ the symlink to get to the real file.  Use an actual filename instead.
 
 =item This Perl can't set CRTL environ elements (%s=%s)
 
-(W internal) Warnings peculiar to VMS.  You tried to change or delete an element
-of the CRTL's internal environ array, but your copy of Perl wasn't
+(W internal) Warnings peculiar to VMS.  You tried to change or delete an
+element of the CRTL's internal environ array, but your copy of Perl wasn't
 built with a CRTL that contained the setenv() function.  You'll need to
 rebuild Perl with a CRTL that does, or redefine F<PERL_ENV_TABLES> (see
 L<perlvms>) so that the environ array isn't the target of the change to
@@ -3191,8 +3186,8 @@ to use it to restrict permissions for yourself (EXPR & 0700).
 
 =item Unbalanced context: %d more PUSHes than POPs
 
-(W internal) The exit code detected an internal inconsistency in how many execution
-contexts were entered and left.
+(W internal) The exit code detected an internal inconsistency in how many
+execution contexts were entered and left.
 
 =item Unbalanced saves: %d more saves than restores
 
@@ -3201,13 +3196,13 @@ values were temporarily localized.
 
 =item Unbalanced scopes: %d more ENTERs than LEAVEs
 
-(W internal) The exit code detected an internal inconsistency in how many blocks
-were entered and left.
+(W internal) The exit code detected an internal inconsistency in how many
+blocks were entered and left.
 
 =item Unbalanced tmps: %d more allocs than frees
 
-(W internal) The exit code detected an internal inconsistency in how many mortal
-scalars were allocated and freed.
+(W internal) The exit code detected an internal inconsistency in how many
+mortal scalars were allocated and freed.
 
 =item Undefined format "%s" called
 
@@ -3293,9 +3288,9 @@ place you were last editing.
 
 =item Unquoted string "%s" may clash with future reserved word
 
-(W reserved) You used a bareword that might someday be claimed as a reserved word.
-It's best to put such a word in quotes, or capitalize it somehow, or insert
-an underbar into it.  You might also declare it as a subroutine.
+(W reserved) You used a bareword that might someday be claimed as a reserved
+word.  It's best to put such a word in quotes, or capitalize it somehow, or
+insert an underbar into it.  You might also declare it as a subroutine.
 
 =item Unrecognized character %s
 
@@ -3386,12 +3381,12 @@ valid when C<untie> was called.
 
 =item Useless use of %s in void context
 
-(W void) You did something without a side effect in a context that does nothing
-with the return value, such as a statement that doesn't return a value
-from a block, or the left side of a scalar comma operator.  Very often
-this points not to stupidity on your part, but a failure of Perl to parse
-your program the way you thought it would.  For example, you'd get this
-if you mixed up your C precedence with Python precedence and said
+(W void) You did something without a side effect in a context that does
+nothing with the return value, such as a statement that doesn't return a value
+from a block, or the left side of a scalar comma operator.  Very often this
+points not to stupidity on your part, but a failure of Perl to parse your
+program the way you thought it would.  For example, you'd get this if you
+mixed up your C precedence with Python precedence and said
 
     $one, $two = 1, 2;
 
@@ -3442,11 +3437,10 @@ looked up as methods (using the C<@ISA> hierarchy) even when the subroutines
 to be autoloaded were called as plain functions (e.g.  C<Foo::bar()>),
 not as methods (e.g. C<< Foo->bar() >> or C<< $obj->bar() >>).
 
-This bug will be rectified in Perl 5.005, which will use method lookup
-only for methods' C<AUTOLOAD>s.  However, there is a significant base
-of existing code that may be using the old behavior.  So, as an
-interim step, Perl 5.004 issues an optional warning when non-methods
-use inherited C<AUTOLOAD>s.
+This bug will be rectified in future by using method lookup only for methods'
+C<AUTOLOAD>s.  However, there is a significant base of existing code that may
+be using the old behavior.  So, as an interim step, Perl currently issues an
+optional warning when non-methods use inherited C<AUTOLOAD>s.
 
 The simple rule is:  Inheritance will not work when autoloading
 non-methods.  The simple fix for old code is:  In any module that used to
@@ -3464,51 +3458,50 @@ only C.  This usually means there's a better way to do it in Perl.
 
 =item Use of $* is deprecated
 
-(D deprecated) This variable magically turned on multi-line pattern matching, both for
-you and for any luckless subroutine that you happen to call.  You should
-use the new C<//m> and C<//s> modifiers now to do that without the dangerous
-action-at-a-distance effects of C<$*>.
+(D deprecated) This variable magically turned on multi-line pattern matching,
+both for you and for any luckless subroutine that you happen to call.  You
+should use the new C<//m> and C<//s> modifiers now to do that without the
+dangerous action-at-a-distance effects of C<$*>.
 
 =item Use of %s is deprecated
 
-(D deprecated) The construct indicated is no longer recommended for use, generally
-because there's a better way to do it, and also because the old way has
-bad side effects.
+(D deprecated) The construct indicated is no longer recommended for use,
+generally because there's a better way to do it, and also because the old way
+has bad side effects.
 
 =item Use of $# is deprecated
 
-(D deprecated) This was an ill-advised attempt to emulate a poorly defined B<awk> feature.
-Use an explicit printf() or sprintf() instead.
+(D deprecated) This was an ill-advised attempt to emulate a poorly defined
+B<awk> feature.  Use an explicit printf() or sprintf() instead.
 
 =item Use of reserved word "%s" is deprecated
 
-(D deprecated) The indicated bareword is a reserved word.  Future versions of perl
-may use it as a keyword, so you're better off either explicitly quoting
-the word in a manner appropriate for its context of use, or using a
-different name altogether.  The warning can be suppressed for subroutine
-names by either adding a C<&> prefix, or using a package qualifier,
-e.g. C<&our()>, or C<Foo::our()>.
+(D deprecated) The indicated bareword is a reserved word.  Future versions of
+perl may use it as a keyword, so you're better off either explicitly quoting
+the word in a manner appropriate for its context of use, or using a different
+name altogether.  The warning can be suppressed for subroutine names by either
+adding a C<&> prefix, or using a package qualifier, e.g. C<&our()>, or
+C<Foo::our()>.
 
 =item Use of uninitialized value%s
 
-(W uninitialized) An undefined value was used as if it were already defined.  It was
-interpreted as a "" or a 0, but maybe it was a mistake.  To suppress this
-warning assign a defined value to your variables.
+(W uninitialized) An undefined value was used as if it were already defined.
+It was interpreted as a "" or a 0, but maybe it was a mistake.  To suppress
+this warning assign a defined value to your variables.
 
 =item Value of %s can be "0"; test with defined()
 
-(W misc) In a conditional expression, you used <HANDLE>, <*> (glob), C<each()>,
-or C<readdir()> as a boolean value.  Each of these constructs can return a
-value of "0"; that would make the conditional expression false, which is
-probably not what you intended.  When using these constructs in conditional
+(W misc) In a conditional expression, you used <HANDLE>, <*> (glob),
+C<each()>, or C<readdir()> as a boolean value.  Each of these constructs can
+return a value of "0"; that would make the conditional expression false, which
+is probably not what you intended.  When using these constructs in conditional
 expressions, test their values with the C<defined> operator.
 
 =item Value of CLI symbol "%s" too long
 
 (W misc) A warning peculiar to VMS.  Perl tried to read the value of an %ENV
-element from a CLI symbol table, and found a resultant string longer
-than 1024 characters.  The return value has been truncated to 1024
-characters.
+element from a CLI symbol table, and found a resultant string longer than 1024
+characters.  The return value has been truncated to 1024 characters.
 
 =item Variable "%s" is not imported%s
 
@@ -3520,11 +3513,11 @@ on the front of your variable.
 
 =item "%s" variable %s masks earlier declaration in same %s
 
-(W misc) A "my" or "our" variable has been redeclared in the current scope or statement,
-effectively eliminating all access to the previous instance.  This is almost
-always a typographical error.  Note that the earlier variable will still exist
-until the end of the scope or until all closure referents to it are
-destroyed.
+(W misc) A "my" or "our" variable has been redeclared in the current scope or
+statement, effectively eliminating all access to the previous instance.  This
+is almost always a typographical error.  Note that the earlier variable will
+still exist until the end of the scope or until all closure referents to it
+are destroyed.
 
 =item Variable "%s" may be unavailable
 
@@ -3613,8 +3606,8 @@ So put in parentheses to say what you really mean.
 
 =item write() on closed filehandle %s
 
-(W closed) The filehandle you're writing to got itself closed sometime before now.
-Check your logic flow.
+(W closed) The filehandle you're writing to got itself closed sometime before
+now.  Check your logic flow.
 
 =item X outside of string
 
@@ -3649,8 +3642,8 @@ the eg directory to put a setuid C wrapper around your script.
 
 =item You need to quote "%s"
 
-(W syntax) You assigned a bareword as a signal handler name.  Unfortunately, you
-already have a subroutine of that name declared, which means that Perl 5
+(W syntax) You assigned a bareword as a signal handler name.  Unfortunately,
+you already have a subroutine of that name declared, which means that Perl 5
 will try to call the subroutine when the assignment is executed, which is
 probably not what you want.  (If it IS what you want, put an & in front.)