📄 perldiag.pod
字号:
config.sh: If you have tcsh, make the variables refer to it as if itwere csh (e.g. C<full_csh='/usr/bin/tcsh'>); otherwise, make them allempty (except that C<d_csh> should be C<'undef'>) so that Perl willthink csh is missing. In either case, after editing config.sh, runC<./Configure -S> and rebuild Perl.=item Glob not terminated(F) The lexer saw a left angle bracket in a place where it was expectinga term, so it's looking for the corresponding right angle bracket, andnot finding it. Chances are you left some needed parentheses outearlier in the line, and you really meant a "less than".=item Got an error from DosAllocMem(P) An error peculiar to OS/2. Most probably you're using an obsoleteversion of Perl, and this should not happen anyway.=item goto must have label(F) Unlike with "next" or "last", you're not allowed to goto anunspecified destination. See L<perlfunc/goto>.=item %s had compilation errors(F) The final summary message when a C<perl -c> fails.=item Had to create %s unexpectedly(S internal) A routine asked for a symbol from a symbol table that oughtto have existed already, but for some reason it didn't, and had to becreated on 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 somespots. This is now heavily deprecated.=item %s has too many errors(F) The parser has given up trying to parse the program after 10 errors.Further error messages would likely be uninformative.=item Hexadecimal number > 0xffffffff non-portable(W portable) The hexadecimal number you specified is larger than 2**32-1(4294967295) and therefore non-portable between systems. SeeL<perlport> for more on portability concerns.=item Identifier too long(F) Perl limits identifiers (names for variables, functions, etc.) toabout 250 characters for simple names, and somewhat more for compoundnames (like C<$A::B>). You've exceeded Perl's limits. Future versionsof Perl are likely to eliminate these arbitrary limitations.=item Illegal binary digit %s(F) You used a digit other than 0 or 1 in a binary number.=item Illegal binary digit %s ignored(W digit) You may have tried to use a digit other than 0 or 1 in abinary number. Interpretation of the binary number stopped before theoffending digit.=item Illegal character %s (carriage return)(F) Perl normally treats carriage returns in the program text as itwould any other whitespace, which means you should never see this errorwhen Perl was built using standard options. For some reason, yourversion of Perl appears to have been built without this support. Talkto your Perl administrator.=item Illegal division by zero(F) You tried to divide a number by 0. Either something was wrong inyour logic, or you need to put a conditional in to guard againstmeaningless input.=item Illegal hexadecimal digit %s ignored(W digit) You may have tried to use a character other than 0 - 9 orA - F, a - f in a hexadecimal number. Interpretation of the hexadecimalnumber stopped before the illegal character.=item Illegal modulus zero(F) You tried to divide a number by 0 to get the remainder. Mostnumbers don't take to this kindly.=item Illegal number of bits in vec(F) The number of bits in vec() (the third argument) must be a power oftwo from 1 to 32 (or 64, if your platform supports that).=item Illegal octal digit %s(F) You used an 8 or 9 in a octal number.=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.=item Illegal switch in PERL5OPT: %s(X) The PERL5OPT environment variable may only be used to set thefollowing switches: B<-[DIMUdmw]>.=item Ill-formed CRTL environ value "%s"(W internal) A warning peculiar to VMS. Perl tried to read the CRTL'sinternal 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 logicalname or CLI symbol definition when preparing to iterate over %ENV, anddidn't see the expected delimiter between key and value, so the line wasignored.=item (in cleanup) %s(W misc) This prefix usually indicates that a DESTROY() method raisedthe indicated exception. Since destructors are usually called by thesystem at arbitrary points during execution, and often a vast number oftimes, the warning is issued only once for any number of failures thatwould otherwise result in the same message being repeated.Failure of user callbacks dispatched using the C<G_KEEPERR> flag couldalso result in this warning. See L<perlcall/G_KEEPERR>.=item Insecure dependency in %s(F) You tried to do something that the tainting mechanism didn't like.The tainting mechanism is turned on when you're running setuid orsetgid, or when you specify B<-T> to turn it on explicitly. Thetainting mechanism labels all data that's derived directly or indirectlyfrom the user, who is considered to be unworthy of your trust. If anysuch data is used in a "dangerous" operation, you get this error. SeeL<perlsec> for more information.=item Insecure directory in %s(F) You can't use system(), exec(), or a piped open in a setuid orsetgid script if C<$ENV{PATH}> contains a directory that is writable bythe world. See L<perlsec>.=item Insecure $ENV{%s} while running %s(F) You can't use system(), exec(), or a piped open in a setuid orsetgid script if any of C<$ENV{PATH}>, C<$ENV{IFS}>, C<$ENV{CDPATH}>,C<$ENV{ENV}> or C<$ENV{BASH_ENV}> are derived from data supplied (orpotentially supplied) by the user. The script must set the path to aknown value, using trustworthy data. See L<perlsec>.=item Integer overflow in %s number(W overflow) The hexadecimal, octal or binary number you have specifiedeither as a literal or as an argument to hex() or oct() is too big foryour architecture, and has been converted to a floating point number.On a 32-bit architecture the largest hexadecimal, octal or binary numberrepresentable without overflow is 0xFFFFFFFF, 037777777777, or0b11111111111111111111111111111111 respectively. Note that Perltransparently promotes all numbers to a floating point representationinternally--subject to loss of precision errors in subsequentoperations.=item Internal disaster before << HERE in regex m/%s/(P) Something went badly wrong in the regular expression parser.The << HERE shows in the regular expression about where the problem wasdiscovered.=item Internal inconsistency in tracking vforks(S) A warning peculiar to VMS. Perl keeps track of the number of timesyou've called C<fork> and C<exec>, to determine whether the current callto C<exec> should affect the current script or a subprocess (seeL<perlvms/"exec LIST">). Somehow, this count has become scrambled, soPerl is making a guess and treating this C<exec> as a request toterminate the Perl script and execute the specified command.=item Internal urp before << HERE in regex m/%s/(P) Something went badly awry in the regular expression parser. The <<<HEREshows in the regular expression about where the problem was discovered.=item %s (...) interpreted as function(W syntax) You've run afoul of the rule that says that any list operatorfollowed by parentheses turns into a function, with all the listoperators arguments found inside the parentheses. See L<perlop/Terms and List Operators (Leftward)>.=item Invalid %s attribute: %sThe indicated attribute for a subroutine or variable was not recognizedby Perl or by a user-supplied handler. See L<attributes>.=item Invalid %s attributes: %sThe indicated attributes for a subroutine or variable were notrecognized by Perl or by a user-supplied handler. See L<attributes>.=item Invalid conversion in %s: "%s"(W printf) Perl does not understand the given format conversion. SeeL<perlfunc/sprintf>.=item invalid [] range "%s" in regexp(F) The range specified in a character class had a minimum charactergreater than the maximum character. See L<perlre>.=item Invalid separator character %s in attribute list(F) Something other than a colon or whitespace was seen between theelements of an attribute list. If the previous attribute had aparenthesised parameter list, perhaps that list was terminated too soon.See L<attributes>.=item Invalid type in pack: '%s'(F) The given character is not a valid pack type. See L<perlfunc/pack>.(W pack) The given character is not a valid pack type but used to besilently ignored.=item Invalid type in unpack: '%s'(F) The given character is not a valid unpack type. SeeL<perlfunc/unpack>.(W unpack) The given character is not a valid unpack type but used to besilently ignored.=item ioctl is not implemented(F) Your machine apparently doesn't implement ioctl(), which is prettystrange for a machine that supports C.=item `%s' is not a code reference(W) The second (fourth, sixth, ...) argument of overload::constant needsto be a code reference. Either an anonymous subroutine, or a referenceto a subroutine.=item `%s' is not an overloadable type(W) You tried to overload a constant type the overload package is unaware of.=item junk on end of regexp(P) The regular expression parser is confused.=item Label not found for "last %s"(F) You named a loop to break out of, but you're not currently in a loopof that name, not even if you count where you were called from. SeeL<perlfunc/last>.=item Label not found for "next %s"(F) You named a loop to continue, but you're not currently in a loop ofthat name, not even if you count where you were called from. SeeL<perlfunc/last>.=item Label not found for "redo %s"(F) You named a loop to restart, but you're not currently in a loop ofthat name, not even if you count where you were called from. SeeL<perlfunc/last>.=item leaving effective %s failed(F) While under the C<use filetest> pragma, switching the real andeffective uids or gids failed.=item listen() on closed socket %s(W closed) You tried to do a listen on a closed socket. Did you forgetto check the return value of your socket() call? SeeL<perlfunc/listen>.=item Lookbehind longer than %d not implemented at {#} mark in regex %sThere is an upper limit to the depth of lookbehind in the (?<=regular expression construct.=item Lvalue subs returning %s not implemented yet(F) Due to limitations in the current implementation, array and hashvalues cannot be returned in subroutines used in lvalue context. SeeL<perlsub/"Lvalue subroutines">.=item Lookbehind longer than %d not implemented before << HERE %s(F) There is currently a limit on the length of string which lookbehind canhandle. This restriction may be eased in a future release. The << HERE shows inthe regular expression about where the problem was discovered.=item Malformed PERLLIB_PREFIX(F) An error peculiar to OS/2. PERLLIB_PREFIX should be of the form prefix1;prefix2or prefix1 prefix2with nonempty prefix1 and prefix2. If C<prefix1> is indeed a prefix ofa builtin library search path, prefix2 is substituted. The error mayappear if components are not found, or are too long. See"PERLLIB_PREFIX" in L<perlos2>.=item Malformed UTF-8 character (%s)Perl detected something that didn't comply with UTF-8 encoding rules.=item Malformed UTF-16 surrogatePerl thought it was reading UTF-16 encoded character data but whiledoing it Perl met a malformed Unicode surrogate.=item %s matches null string many times(W regexp) The pattern you've specified would be an infinite loop if theregular expression engine didn't specifically check for that. SeeL<perlre>.=item % may only be used in unpack(F) You can't pack a string by supplying a checksum, because thechecksumming process loses information, and you can't go the other way.See L<perlfunc/unpack>.=item Method for operation %s not found in package %s during blessing(F) An attempt was made to specify an entry in an overloading table thatdoesn't resolve to a valid subroutine. See L<overload>.=item Method %s not permittedSee Server error.=item Might be a runaway multi-line %s string starting on line %d(S) An advisory indicating that the previous error may have been causedby a missing delimiter on a string or pattern, because it eventuallyended earlier on the current line.=item Misplaced _ in number(W syntax) An underline in a decimal constant wasn't on a 3-digit boundary.=item Missing %sbrace%s on \N{}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -