X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldiag.pod;h=44b83ed64b6c19be6a8501cb9f10bd8828f9afa1;hb=bc82975d259d743626ad1b4a960b4b1f13c7a816;hp=c56f5dd3fda23cda1718fab99c5eacba01d9133c;hpb=e75d1f1083177907de70add76a22bf9ee81d8f6c;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldiag.pod b/pod/perldiag.pod index c56f5dd..44b83ed 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -193,7 +193,7 @@ know which context to supply to the right side. =item A thread exited while %d threads were running -(W) When using threaded Perl, a thread (not necessarily the main +(W threads)(S) When using threaded Perl, a thread (not necessarily the main thread) exited while there were still other threads running. Usually it's a good idea to first collect the return values of the created threads by joining them, and only then exit from the main @@ -282,6 +282,15 @@ 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 set length of freed array + +(W) You tried to set the length of an array which has been freed. You +can do this by storing a reference to the scalar representing the last index +of an array and later assigning through that reference. For example + + $r = do {my @a; \$#a}; + $$r = 503 + =item Attempt to use reference as lvalue in substr (W substr) You supplied a reference as the first argument to substr() @@ -352,6 +361,12 @@ by setting environment variable C to 1. (P) An internal request asked to add an array entry to something that wasn't a symbol table entry. +=item Bad symbol for dirhandle + +(P) An internal request asked to add a dirhandle entry to something +that wasn't a symbol table entry. + + =item Bad symbol for filehandle (P) An internal request asked to add a filehandle entry to something @@ -471,6 +486,13 @@ See L. (F) An argument to pack("w",...) was negative. The BER compressed integer format can only be used with positive integers. See L. +=item Cannot convert a reference to %s to typeglob + +(F) You manipulated Perl's symbol table directly, stored a reference in it, +then tried to access that symbol via conventional Perl syntax. The access +triggers Perl to autovivify that typeglob, but it there is no legal conversion +from that type of reference to a typeglob. + =item Can only compress unsigned integers in pack (F) An argument to pack("w",...) was not an integer. The BER compressed @@ -482,6 +504,15 @@ to compress something else. See L. (F) Only hard references may be blessed. This is how Perl "enforces" encapsulation of objects. See L. +=item Can't "break" in a loop topicalizer + +(F) You called C, but you're in a C block rather than +a C block. You probably meant to use C or C. + +=item Can't "break" outside a given block + +(F) You called C, but you're not inside a C block. + =item Can't call method "%s" in empty package "%s" (F) You called a method correctly, and it correctly indicated a package @@ -557,6 +588,11 @@ but then $foo no longer contains a glob. (F) Certain types of SVs, in particular real symbol table entries (typeglobs), can't be forced to stop being what they are. +=item Can't "continue" outside a when block + +(F) You called C, but you're not inside a C +or C block. + =item Can't create pipe mailbox (P) An error peculiar to VMS. The process is suffering from exhausted @@ -686,15 +722,6 @@ found in the PATH. found in the PATH, or at least not with the correct permissions. The script exists in the current directory, but PATH prohibits running it. -=item Can't find %s property definition %s - -(F) You may have tried to use C<\p> which means a Unicode property (for -example C<\p{Lu}> is all uppercase letters). If you did mean to use a -Unicode property, see L for the list of known properties. -If you didn't mean to use a Unicode property, escape the C<\p>, either -by C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, until -possible C<\E>). - =item Can't find string terminator %s anywhere before EOF (F) Perl strings can stretch over multiple lines. This message means @@ -707,6 +734,15 @@ If you're getting this error from a here-document, you may have included unseen whitespace before or after your closing tag. A good programmer's editor will have a way to help you find these characters. +=item Can't find Unicode property definition "%s" + +(F) You may have tried to use C<\p> which means a Unicode property (for +example C<\p{Lu}> is all uppercase letters). If you did mean to use a +Unicode property, see L for the list of known properties. +If you didn't mean to use a Unicode property, escape the C<\p>, either +by C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, until +possible C<\E>). + =item Can't fork (F) A fatal error occurred while trying to fork while opening a @@ -752,11 +788,16 @@ a block, except that it isn't a proper block. This usually occurs if you tried to jump out of a sort() block or subroutine, which is a no-no. See L. -=item Can't goto subroutine from an eval-string +=item Can't goto subroutine from a sort sub (or similar callback) + +(F) The "goto subroutine" call can't be used to jump out of the +comparison sub for a sort(), or from a similar callback (such +as the reduce() function in List::Util). + +=item Can't goto subroutine from an eval-%s (F) The "goto subroutine" call can't be used to jump out of an eval -"string". (You can use it to jump out of an eval {BLOCK}, but you -probably don't want to.) +"string" or block. =item Can't goto subroutine outside a subroutine @@ -946,13 +987,6 @@ missing. You need to figure out where your CRTL misplaced its environ or define F (see L) so that environ is not searched. -=item Can't redefine active sort subroutine %s - -(F) Perl optimizes the internal handling of sort subroutines and keeps -pointers into them. You tried to redefine one such sort subroutine when -it was currently active, which is not allowed. If you really want to do -this, you should write C instead of C. - =item Can't "redo" outside a loop block (F) A "redo" statement was executed to restart the current block, but @@ -1042,19 +1076,13 @@ redefined subroutine while the old routine is running. Go figure. (F) You tried to unshift an "unreal" array that can't be unshifted, such as the main Perl stack. -=item Can't upgrade that kind of scalar +=item Can't upgrade %s (%d) to %d (P) The internal sv_upgrade routine adds "members" to an SV, making it into a more specialized kind of SV. The top several SV types are so specialized, however, that they cannot be interconverted. This message indicates that such a conversion was attempted. -=item Can't upgrade to undef - -(P) The undefined SV is the bottom of the totem pole, in the scheme of -upgradability. Upgrading to undef indicates an error in the code -calling sv_upgrade. - =item Can't use anonymous symbol table for method lookup (F) The internal routine that does method lookup was handed a symbol @@ -1126,7 +1154,7 @@ references are disallowed. See L. (F) The compiler tried to interpret a bracketed expression as a subscript. But to the left of the brackets was an expression that -didn't look like an array reference, or anything else subscriptable. +didn't look like a hash or array reference, or anything else subscriptable. =item Can't use \%c to mean $%c in expression @@ -1137,6 +1165,13 @@ 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 use "when" outside a topicalizer + +(F) You have used a when() block that is neither inside a C +loop nor a C block. (Note that this error is issued on exit +from the C block, so you won't get the error if the match fails, +or if you use an explicit C.) + =item Can't weaken a nonreference (F) You attempted to weaken something that was not a reference. Only @@ -1148,7 +1183,7 @@ references can be weakened. with an assignment operator, which implies modifying the value itself. Perhaps you need to copy the value to a temporary, and repeat that. -=item Character in "C" format wrapped in pack +=item Character in 'C' format wrapped in pack (W pack) You said @@ -1163,7 +1198,19 @@ and so on) and not for Unicode characters, so Perl behaved as if you meant If you actually want to pack Unicode codepoints, use the C<"U"> format instead. -=item Character in "c" format wrapped in pack +=item Character in 'W' format wrapped in pack + +(W pack) You said + + pack("U0W", $x) + +where $x is either less than 0 or more than 255. However, C-mode expects +all values to fall in the interval [0, 255], so Perl behaved as if you +meant: + + pack("U0W", $x & 255) + +=item Character in 'c' format wrapped in pack (W pack) You said @@ -1178,10 +1225,51 @@ and so on) and not for Unicode characters, so Perl behaved as if you meant If you actually want to pack Unicode codepoints, use the C<"U"> format instead. +=item Character in '%c' format wrapped in unpack + +(W unpack) You tried something like + + unpack("H", "\x{2a1}") + +where the format expects to process a byte (a character with a value +below 256), but a higher value was provided instead. Perl uses the value +modulus 256 instead, as if you had provided: + + unpack("H", "\x{a1}") + +=item Character(s) in '%c' format wrapped in pack + +(W pack) You tried something like + + pack("u", "\x{1f3}b") + +where the format expects to process a sequence of bytes (character with a +value below 256), but some of the characters had a higher value. Perl +uses the character values modulus 256 instead, as if you had provided: + + pack("u", "\x{f3}b") + +=item Character(s) in '%c' format wrapped in unpack + +(W unpack) You tried something like + + unpack("s", "\x{1f3}b") + +where the format expects to process a sequence of bytes (character with a +value below 256), but some of the characters had a higher value. Perl +uses the character values modulus 256 instead, as if you had provided: + + unpack("s", "\x{f3}b") + =item close() on unopened filehandle %s (W unopened) You tried to close a filehandle that was never opened. +=item closedir() attempted on invalid dirhandle %s + +(W io) The dirhandle you tried to close is either closed or not really +a dirhandle. Check your control flow. + =item Code missing after '/' (F) You had a (sub-)template that ends with a '/'. There must be another @@ -1418,6 +1506,10 @@ subroutine or package before the current location. You can use an empty (W misc) You used the obsolescent C built-in function, without fully qualifying it as C. Maybe it's a typo. See L. +=item dump is not supported + +(F) Your machine doesn't support dump/undump. + =item Duplicate free() ignored (S malloc) An internal routine called free() on something that had @@ -1560,6 +1652,13 @@ you which section of the Perl source code is distressed. (F) Your machine apparently doesn't implement fcntl(). What is this, a PDP-11 or something? +=item Field too wide in 'u' format in pack + +(W pack) Each line in an uuencoded string start with a length indicator +which can't encode values above 63. So there is no point in asking for +a line length bigger than that. Perl will behave as if you specified +C as format. + =item Filehandle %s opened only for input (W io) You tried to write on a read-only filehandle. If you intended @@ -1579,13 +1678,13 @@ Another possibility is that you attempted to open filedescriptor 0 =item Filehandle %s reopened as %s only for input (W io) You opened for reading a filehandle that got the same filehandle id -as STDOUT or STDERR. This occured because you closed STDOUT or STDERR +as STDOUT or STDERR. This occurred because you closed STDOUT or STDERR previously. =item Filehandle STDIN reopened as %s only for output (W io) You opened for writing a filehandle that got the same filehandle id -as STDIN. This occured because you closed STDIN previously. +as STDIN. This occurred because you closed STDIN previously. =item Final $ should be \$ or $name @@ -1803,7 +1902,7 @@ Interpretation of the octal number stopped before the 8 or 9. =item Illegal switch in PERL5OPT: %s (X) The PERL5OPT environment variable may only be used to set the -following switches: B<-[DIMUdmtw]>. +following switches: B<-[CDIMUdmtwA]>. =item Ill-formed CRTL environ value "%s" @@ -1854,7 +1953,8 @@ L for more information. (F) You can't use system(), exec(), or a piped open in a setuid or setgid script if C<$ENV{PATH}> contains a directory that is writable by -the world. See L. +the world. Also, the PATH must not contain any relative directory. +See L. =item Insecure $ENV{%s} while running %s @@ -1876,6 +1976,22 @@ transparently promotes all numbers to a floating point representation internally--subject to loss of precision errors in subsequent operations. +=item Integer overflow in division + +(F) In the scope of the C pragma, division would have overflowed. +This will happen if you attempt to divide the largest negative integer by -1, +since the result cannot be represented as a signed integer on a two's complement +system. This division is trapped as a Perl-level exception because on some +architectures the integer divide operation will trigger a CPU exception +causing program exit, rather than merely returning a mathematically wrong +answer. + +=item Integer overflow in format string for %s + +(F) The indexes and widths specified in the format string of C +or C are too large. The numbers must not overflow the size of +integers for your architecture. + =item Integer overflow in version (F) Some portion of a version initialization is too large for the @@ -2000,6 +2116,12 @@ neither as a system call or an ioctl call (SIOCATMARK). been removed as of 5.9.0 and is no longer supported. You should use the C and C regexp modifiers instead. +=item $# is no longer supported + +(D deprecated) The special variable C<$#>, deprecated in older perls, has +been removed as of 5.9.3 and is no longer supported. You should use the +printf/sprintf functions instead. + =item `%s' is not a code reference (W overload) The second (fourth, sixth, ...) argument of overload::constant @@ -2040,7 +2162,7 @@ effective uids or gids failed. =item length/code after end of string in unpack -(F) While unpacking, the string buffer was alread used up when an unpack +(F) While unpacking, the string buffer was already used up when an unpack length/code combination tried to obtain more data. This results in an undefined value for the length. See L. @@ -2101,7 +2223,8 @@ when the function is called. =item Malformed UTF-8 character (%s) -Perl detected something that didn't comply with UTF-8 encoding rules. +(S utf8) (F) Perl detected something that didn't comply with UTF-8 +encoding rules. One possible cause is that you read in data that you thought to be in UTF-8 but it wasn't (it was for example legacy 8-bit data). Another @@ -2112,6 +2235,21 @@ possibility is careless use of utf8::upgrade(). Perl thought it was reading UTF-16 encoded character data but while doing it Perl met a malformed Unicode surrogate. +=item Malformed UTF-8 string in pack + +(F) You tried to pack something that didn't comply with UTF-8 encoding +rules and perl was unable to guess how to make more progress. + +=item Malformed UTF-8 string in unpack + +(F) You tried to unpack something that didn't comply with UTF-8 encoding +rules and perl was unable to guess how to make more progress. + +=item Malformed UTF-8 string in '%c' format in unpack + +(F) You tried to unpack something that didn't comply with UTF-8 encoding +rules and perl was unable to guess how to make more progress. + =item %s matches null string many times in regex; marked by <-- HERE in m/%s/ (W regexp) The pattern you've specified would be an infinite loop if the @@ -2151,6 +2289,11 @@ ended earlier on the current line. (W syntax) An underscore (underbar) in a numeric constant did not separate two digits. +=item Missing argument to -%c + +(F) The argument to the indicated command line switch must follow +immediately after the switch, without intervening spaces. + =item Missing %sbrace%s on \N{} (F) Wrong syntax of character name literal C<\N{charname}> within @@ -2260,12 +2403,6 @@ See L for details. (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*' - -(F) You had a pack template indicating a counted-length string, -Currently the only things that can have their length counted are a*, A* -or Z*. See L. - =item '/' must follow a numeric type in unpack (F) You had an unpack template that contained a '/', but this did not @@ -2358,22 +2495,21 @@ doesn't know where you want to pipe the output from this command. =item No DB::DB routine defined (F) The currently executing code was compiled with the B<-d> switch, but -for some reason the perl5db.pl file (or some facsimile thereof) didn't -define a routine to be called at the beginning of each statement. Which -is odd, because the file should have been required automatically, and -should have blown up the require if it didn't parse right. +for some reason the current debugger (e.g. F or a C +module) didn't define a routine to be called at the beginning of each +statement. =item No dbm on this machine (P) This is counted as an internal error, because every machine should supply dbm nowadays, because Perl comes with SDBM. See L. -=item No DBsub routine +=item No DB::sub routine defined -(F) The currently executing code was compiled with the B<-d> switch, -but for some reason the perl5db.pl file (or some facsimile thereof) -didn't define a DB::sub routine to be called at the beginning of each -ordinary subroutine call. +(F) The currently executing code was compiled with the B<-d> switch, but +for some reason the current debugger (e.g. F or a C +module) didn't define a C routine to be called at the beginning +of each ordinary subroutine call. =item No B<-e> allowed in setuid scripts @@ -2439,11 +2575,6 @@ your system. (F) Configure didn't find anything resembling the setreuid() call for your system. -=item No space allowed after -%c - -(F) The argument to the indicated command line switch must follow -immediately after the switch, without intervening spaces. - =item No %s specified for -%c (F) The indicated command line switch needs a mandatory argument, but @@ -2550,6 +2681,12 @@ to UTC. If it's not, define the logical name F to translate to the number of seconds which need to be added to UTC to get local time. +=item Non-string passed as bitmask + +(W misc) A number has been passed as a bitmask argument to select(). +Use the vec() function to construct the file descriptor bitmasks for +select. See L + =item Null filename used (F) You can't require the null filename, especially because on many @@ -2641,7 +2778,7 @@ that isn't open. Check your control flow. See also L. (S internal) An internal warning that the grammar is screwed up. -=item Operation `%s': no method found, %s +=item Operation "%s": no method found, %s (F) An attempt was made to perform an overloaded operation for which no handler was defined. While some handlers can be autogenerated in terms @@ -2710,11 +2847,22 @@ C<$arr[time]> instead of C<$arr[$time]>. parsing, but realloc() wouldn't give it more memory, virtual or otherwise. +=item '.' outside of string in pack + +(F) The argument to a '.' in your template tried to move the working +position to before the start of the packed string being built. + =item '@' outside of string in unpack (F) You had a template that specified an absolute position outside the string being unpacked. See L. +=item '@' outside of string with malformed UTF-8 in unpack + +(F) You had a template that specified an absolute position outside +the string being unpacked. The string being unpacked was also invalid +UTF-8. See L. + =item %s package attribute may clash with future reserved word: %s (W reserved) A lowercase attribute name was used that had a @@ -2736,6 +2884,13 @@ page. See L. (P) An internal error. +=item panic: attempt to call %s in %s + +(P) One of the file test operators entered a code branch that calls +an ACL related-function, but that function is not available on this +platform. Earlier checks mean that it should not be possible to +enter this branch on this platform. + =item panic: ck_grep (P) Failed an internal consistency check trying to compile a grep. @@ -2785,6 +2940,13 @@ data. (P) We popped the context stack to a context with the specified label, and then discovered it wasn't a context we know how to do a goto in. +=item panic: hfreeentries failed to free hash + +(P) The internal routine used to clear a hashes entries tried repeatedly, +but each time something added more entries to the hash. Most likely the hash +contains an object with a reference back to the hash and a destructor that +adds a new object to the hash. + =item panic: INTERPCASEMOD (P) The lexer got into a bad state at a case modifier. @@ -2821,18 +2983,10 @@ references to an object. (P) Something requested a negative number of bytes of malloc. -=item panic: mapstart - -(P) The compiler is screwed up with respect to the map() function. - =item panic: memory wrap (P) Something tried to allocate more memory than possible. -=item panic: null array - -(P) One of the internal array routines was passed a null AV pointer. - =item panic: pad_alloc (P) The compiler got confused about which scratch pad it was allocating @@ -2905,6 +3059,11 @@ was string. (P) The compiler attempted to do a goto, or something weird like that. +=item panic: unimplemented op %s (#%d) called + +(P) The compiler is screwed up and attempted to use an op that isn't permitted +at run time. + =item panic: utf16_to_utf8: odd bytelen (P) Something tried to call utf16_to_utf8 with an odd (as opposed @@ -3112,11 +3271,6 @@ but there was no array C<@foo> in scope at the time. If you wanted a literal @foo, then write it as \@foo; otherwise find out what happened to the array you apparently lost track of. -=item Possible Y2K bug: %s - -(W y2k) You are concatenating the number 19 with another number, which -could be a potential Year 2000 problem. - =item pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead (D deprecated) You have written something like this: @@ -3212,6 +3366,11 @@ are outside the range which can be represented by integers internally. One possible workaround is to force Perl to use magical string increment by prepending "0" to your numbers. +=item readdir() attempted on invalid dirhandle %s + +(W io) The dirhandle you're reading from is either closed or not really +a dirhandle. Check your control flow. + =item readline() on closed filehandle %s (W closed) The filehandle you're reading from got itself closed sometime @@ -3295,7 +3454,7 @@ earlier. =item Repeated format line will never terminate (~~ and @# incompatible) -(F) Your format containes the ~~ repeat-until-blank sequence and a +(F) Your format contains the ~~ repeat-until-blank sequence and a numeric field that will never go blank so that the repetition never terminates. You might use ^# instead. See L. @@ -3304,6 +3463,11 @@ terminates. You might use ^# instead. See L. (W syntax) You wrote your assignment operator backwards. The = must always comes last, to avoid ambiguity with subsequent unary operators. +=item rewinddir() attempted on invalid dirhandle %s + +(W io) The dirhandle you tried to do a rewinddir() on is either closed or not +really a dirhandle. Check your control flow. + =item Runaway format (F) Your format contained the ~~ repeat-until-blank sequence, but it @@ -3365,11 +3529,26 @@ construct, not just the empty search pattern. Therefore code written in Perl 5.9.0 or later that uses the // as the I can be misparsed by pre-5.9.0 Perls as a non-terminated search pattern. +=item Search pattern not terminated or ternary operator parsed as search pattern + +(F) The lexer couldn't find the final delimiter of a C +construct. + +The question mark is also used as part of the ternary operator (as in +C) leading to some ambiguous constructions being wrongly +parsed. One way to disambiguate the parsing is to put parentheses around +the conditional expression, i.e. C<(foo) ? 0 : 1>. + =item %sseek() on unopened filehandle (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 seekdir() attempted on invalid dirhandle %s + +(W io) The dirhandle you are doing a seekdir() on is either closed or not +really a dirhandle. Check your control flow. + =item select not implemented (F) This machine doesn't implement the select() system call. @@ -3499,6 +3678,11 @@ L. (F) The setuid emulator won't run a script that is writable by the world, because the world might have written on it already. +=item Setuid script not plain file + +(F) The setuid emulator won't run a script that isn't read from a file, +but from a socket, a pipe or another device. + =item shm%s not implemented (F) You don't have System V shared memory IPC on your system. @@ -3574,7 +3758,7 @@ a block by itself. (W unopened) You tried to use the stat() function on a filehandle that was either never opened or has since been closed. -=item Stub found while resolving method `%s' overloading %s +=item Stub found while resolving method "%s" overloading "%s" (P) Overloading resolution over @ISA tree may be broken by importation stubs. Stubs should never be implicitly created, but explicit calls to @@ -3621,6 +3805,11 @@ assignment or as a subroutine argument for example). (F) Your Perl was compiled with B<-D>SETUID_SCRIPTS_ARE_SECURE_NOW, but a version of the setuid emulator somehow got run anyway. +=item sv_upgrade from type %d down to type %d + +(P) Perl tried to force the upgrade an SV to a type which was actually +inferior to its current type. + =item Switch (?(condition)... contains too many branches in regex; marked by <-- HERE in m/%s/ (F) A (?(condition)if-clause|else-clause) construct can have at most two @@ -3717,6 +3906,11 @@ for Perl to reach. Perl is doing you a favor by refusing. (W unopened) You tried to use the tell() function on a filehandle that was either never opened or has since been closed. +=item telldir() attempted on invalid dirhandle %s + +(W io) The dirhandle you tried to telldir() is either closed or not really +a dirhandle. Check your control flow. + =item That use of $[ is unsupported (F) Assignment to C<$[> is now strictly circumscribed, and interpreted @@ -3771,7 +3965,7 @@ target of the change to =item thread failed to start: %s -(F) The entry point function of threads->create() failed for some reason. +(W threads)(S) The entry point function of threads->create() failed for some reason. =item times not implemented @@ -3813,7 +4007,7 @@ system call to call, silly dilly. =item Too late for "-%s" option (X) The #! line (or local equivalent) in a Perl script contains the -B<-M> or B<-m> option. This is an error because B<-M> and B<-m> options +B<-M>, B<-m> or B<-C> option. This is an error because those options are not intended for use inside scripts. Use the C pragma instead. =item Too late to run %s block @@ -4227,7 +4421,7 @@ L for more on this. This warning will not be issued for numerical constants equal to 0 or 1 since they are often used in statements like - 1 while sub_with_side_effects() ; + 1 while sub_with_side_effects(); String constants that would normally evaluate to 0 or 1 are warned about. @@ -4343,11 +4537,6 @@ C. (F) You attempted to use a feature of printf that is accessible from only C. This usually means there's a better way to do it in Perl. -=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. - =item Use of %s is deprecated (D deprecated) The construct indicated is no longer recommended for use, @@ -4530,6 +4719,11 @@ are automatically rebound to the current values of such variables. its equivalent C block found an internal inconsistency with the version number. +=item Version string '%s' contains invalid data; ignoring: '%s' + +(W misc) The version string contains invalid characters at the end, which +are being ignored. + =item v-string in use/require is non-portable (W portable) The use of v-strings is non-portable to older, pre-5.6, Perls. @@ -4612,16 +4806,6 @@ the beginning of the string being (un)packed. See L. (F) You had a pack template that specified a relative position after the end of the string being unpacked. See L. -=item Xsub "%s" called in sort - -(F) The use of an external subroutine as a sort comparison is not yet -supported. - -=item Xsub called in sort - -(F) The use of an external subroutine as a sort comparison is not yet -supported. - =item YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET! (F) And you probably never will, because you probably don't have the