From 75b44862ccfe91d9314cf0481cf385d225bfe78b Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Tue, 25 Apr 2000 19:13:12 +0000 Subject: [PATCH] reformat perldiag to avoid long lines p4raw-id: //depot/perl@5950 --- pod/perldiag.pod | 589 +++++++++++++++++++++++++++---------------------------- 1 file changed, 291 insertions(+), 298 deletions(-) diff --git a/pod/perldiag.pod b/pod/perldiag.pod index cd1b73f..659e153 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -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 pragma. +The majority of messages from the first three classifications above +(W, D & S) can be controlled using the C pragma. If a message can be controlled by the C 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. +(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. =item Allocation too large: %lx @@ -60,10 +60,10 @@ See L. =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 and L 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 and +L for alternatives. =item Args must match #! line @@ -149,13 +149,13 @@ name, and not a subroutine call. C 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. +(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. =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 to 1. +malloc()ed in the first place. Mandatory, but can be disabled by setting +environment variable C to 1. -This message can be quite often seen with DB_File on systems with -"hard" dynamic linking, like C and C. It is a bug of -C which is left unnoticed if C uses I -system malloc(). +This message can be quite often seen with DB_File on systems with "hard" +dynamic linking, like C and C. It is a bug of C which +is left unnoticed if C uses I 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 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 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. +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. =item / cannot take a count @@ -414,9 +411,9 @@ encapsulation of objects. See L. =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. =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. =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, 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, 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 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 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) rather -than in the regular expression engine; or rewriting the regular -expression so that it is simpler or backtracks less. (See L -for information on I.) +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) rather than in the regular expression engine; +or rewriting the regular expression so that it is simpler or backtracks less. +(See L for information on I.) =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. +(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. =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 for commentary and -workarounds. +inlining. See L 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. +(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. =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. +(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. =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. +(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 with -"+<" or "+>" or "+>>" instead of with "<" or nothing. If -you intended only to read from the file, use "<". See -L. +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. =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 -and C<< <*.c> >>. Usually, this means that you supplied a C -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); otherwise, make them all empty (except that -C 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 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); otherwise, +make them all empty (except that C 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 flag -could also result in this warning. See L. +Failure of user callbacks dispatched using the C flag could also +result in this warning. See L. =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. +(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. =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. -(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. +(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. =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 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 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 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 for +more on portability concerns. See also L for writing portable code. @@ -2267,9 +2259,9 @@ the string being unpacked. See L. =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. =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 section B. =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. =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. =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, not C. +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, +not C. =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. 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. 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. +(W unopened) You tried to invoke a file test operator on a filehandle that +isn't open. Check your logic. See also L. =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 (see L) 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 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), 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' Cs. 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 Cs. +This bug will be rectified in future by using method lookup only for methods' +Cs. 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 Cs. 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 and C 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 and C 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 feature. -Use an explicit printf() or sprintf() instead. +(D deprecated) This was an ill-advised attempt to emulate a poorly defined +B 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. +(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. =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 , <*> (glob), C, -or C 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 , <*> (glob), +C, or C 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 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.) -- 2.7.4