perldiag.pod
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· POD 代码 · 共 1,814 行 · 第 1/5 页
POD
1,814 行
(S malloc) An internal routine called realloc() on something that hadnever been malloc()ed in the first place. Mandatory, but can be disabledby setting environment variable C<PERL_BADFREE> to 1.=item Bad symbol for array(P) An internal request asked to add an array entry to something thatwasn't a symbol table entry.=item Bad symbol for dirhandle(P) An internal request asked to add a dirhandle entry to somethingthat wasn't a symbol table entry.=item Bad symbol for filehandle(P) An internal request asked to add a filehandle entry to somethingthat wasn't a symbol table entry.=item Bad symbol for hash(P) An internal request asked to add a hash entry to something thatwasn't a symbol table entry.=item Bareword found in conditional(W bareword) The compiler found a bareword where it expected aconditional, which often indicates that an || or && was parsed as partof the last argument of the previous construct, for example: open FOO || die;It may also indicate a misspelled constant that has been interpreted asa bareword: use constant TYPO => 1; if (TYOP) { print "foo" }The C<strict> pragma is useful in avoiding such errors.=item Bareword "%s" not allowed while "strict subs" in use(F) With "strict subs" in use, a bareword is only allowed as asubroutine identifier, in curly brackets or to the left of the "=>"symbol. Perhaps you need to predeclare a subroutine?=item Bareword "%s" refers to nonexistent package(W bareword) You used a qualified bareword of the form C<Foo::>, but thecompiler saw no other uses of that namespace before that point. Perhapsyou need to predeclare a package?=item BEGIN failed--compilation aborted(F) An untrapped exception was raised while executing a BEGINsubroutine. Compilation stops immediately and the interpreter isexited.=item BEGIN not safe after errors--compilation aborted(F) Perl found a C<BEGIN {}> subroutine (or a C<use> directive, whichimplies a C<BEGIN {}>) after one or more compilation errors had alreadyoccurred. Since the intended environment for the C<BEGIN {}> could notbe guaranteed (due to the errors), and since subsequent code likelydepends 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 asubstitution, but stylistically it's better to use the variable formbecause other Perl programmers will expect it, and it works better ifthere are more than 9 backreferences.=item Binary number > 0b11111111111111111111111111111111 non-portable(W portable) The binary number you specified is larger than 2**32-1(4294967295) and therefore non-portable between systems. SeeL<perlport> for more on portability concerns.=item bind() on closed socket %s(W closed) You tried to do a bind on a closed socket. Did you forget tocheck the return value of your socket() call? See L<perlfunc/bind>.=item binmode() on closed filehandle %s(W unopened) You tried binmode() on a filehandle that was never opened.Check you control flow and number of arguments.=item Bit vector size > 32 non-portable(W portable) Using bit vector sizes larger than 32 is non-portable.=item Bizarre copy of %s in %s(P) Perl detected an attempt to copy an internal value that is notcopyable.=item Buffer overflow in prime_env_iter: %s(W internal) A warning peculiar to VMS. While Perl was preparing toiterate over %ENV, it encountered a logical name or symbol definitionwhich was too long, so it was truncated to the string shown.=item Callback called exit(F) A subroutine invoked from an external package via call_sv()exited by calling exit.=item %s() called too early to check prototype(W prototype) You've called a function that has a prototype before theparser saw a definition or declaration for it, and Perl could not checkthat the call conforms to the prototype. You need to either add anearly prototype declaration for the subroutine in question, or move thesubroutine definition ahead of the call to get proper prototypechecking. Alternatively, if you are certain that you're calling thefunction correctly, you may put an ampersand before the name to avoidthe warning. See L<perlsub>.=item Cannot compress integer in pack(F) An argument to pack("w",...) was too large to compress. The BERcompressed integer format can only be used with positive integers, and youattempted to compress Infinity or a very large number (> 1e308).See L<perlfunc/pack>.=item Cannot compress negative numbers in pack(F) An argument to pack("w",...) was negative. The BER compressed integerformat can only be used with positive integers. See L<perlfunc/pack>.=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 accesstriggers Perl to autovivify that typeglob, but it there is no legal conversionfrom that type of reference to a typeglob.=item Cannot copy to %s in %s(P) Perl detected an attempt to copy a value to an internal type that cannotbe directly assigned not.=item Can only compress unsigned integers in pack(F) An argument to pack("w",...) was not an integer. The BER compressedinteger format can only be used with positive integers, and you attemptedto compress something else. See L<perlfunc/pack>.=item Can't bless non-reference value(F) Only hard references may be blessed. This is how Perl "enforces"encapsulation of objects. See L<perlobj>.=item Can't "break" in a loop topicalizer(F) You called C<break>, but you're in a C<foreach> block rather thana C<given> block. You probably meant to use C<next> or C<last>.=item Can't "break" outside a given block(F) You called C<break>, but you're not inside a C<given> block.=item Can't call method "%s" in empty package "%s"(F) You called a method correctly, and it correctly indicated a packagefunctioning as a class, but that package doesn't have ANYTHING definedin it, let alone methods. See L<perlobj>.=item Can't call method "%s" on an undefined value(F) You used the syntax of a method call, but the slot filled by theobject reference or package name contains an undefined value. Somethinglike this will reproduce the error: $BADREF = undef; process $BADREF 1,2,3; $BADREF->process(1,2,3);=item Can't call method "%s" on unblessed reference(F) A method call must know in what package it's supposed to run. Itordinarily finds this out from the object reference you supply, but youdidn't supply an object reference in this case. A reference isn't anobject reference until it has been blessed. See L<perlobj>.=item Can't call method "%s" without a package or object reference(F) You used the syntax of a method call, but the slot filled by theobject reference or package name contains an expression that returns adefined value which is neither an object reference nor a package name.Something like this will reproduce the error: $BADREF = 42; process $BADREF 1,2,3; $BADREF->process(1,2,3);=item Can't chdir to %s(F) You called C<perl -x/foo/bar>, but C</foo/bar> is not a directorythat you can chdir to, possibly because it doesn't exist.=item Can't check filesystem of script "%s" for nosuid(P) For some reason you can't check the filesystem of the script fornosuid.=item Can't coerce array into hash(F) You used an array where a hash was expected, but the array has noinformation on how to map from keys to array indices. You can do thatonly with arrays that have a hash reference at index 0.=item Can't coerce %s to integer in %s(F) Certain types of SVs, in particular real symbol table entries(typeglobs), can't be forced to stop being what they are. So you can'tsay things like: *foo += 1;You CAN say $foo = *foo; $foo += 1;but then $foo no longer contains a glob.=item Can't coerce %s to number in %s(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 coerce %s to string in %s(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<continue>, but you're not inside a C<when>or C<default> block.=item Can't create pipe mailbox(P) An error peculiar to VMS. The process is suffering from exhaustedquotas or other plumbing problems.=item Can't declare class for non-scalar %s in "%s"(F) Currently, only scalar variables can be declared with a specificclass qualifier in a "my", "our" or "state" declaration. The semantics may beextended for other types of variables in future.=item Can't declare %s in "%s"(F) Only scalar, array, and hash variables may be declared as "my", "our" or"state" variables. They must have ordinary identifiers as names.=item Can't do inplace edit: %s is not a regular file(S inplace) You tried to use the B<-i> switch on a special file, such asa file in /dev, or a FIFO. The file was ignored.=item Can't do inplace edit on %s: %s(S inplace) The creation of the new file failed for the indicatedreason.=item Can't do inplace edit without backup(F) You're on a system such as MS-DOS that gets confused if you tryreading from a deleted (but still opened) file. You have to sayC<-i.bak>, or some such.=item Can't do inplace edit: %s would not be unique(S inplace) Your filesystem does not support filenames longer than 14characters and Perl was unable to create a unique filename duringinplace editing with the B<-i> switch. The file was ignored.=item Can't do {n,m} with n > m in regex; marked by <-- HERE in m/%s/(F) Minima must be less than or equal to maxima. If you really want yourregexp to match something 0 times, just put {0}. The <-- HERE shows in theregular expression about where the problem was discovered. See L<perlre>.=item Can't do setegid!(P) The setegid() call failed for some reason in the setuid emulator ofsuidperl.=item Can't do seteuid!(P) The setuid emulator of suidperl failed for some reason.=item Can't do setuid(F) This typically means that ordinary perl tried to exec suidperl to dosetuid emulation, but couldn't exec it. It looks for a name of the formsperl5.000 in the same directory that the perl executable resides underthe name perl5.000, typically /usr/local/bin on Unix machines. If thefile is there, check the execute permissions. If it isn't, ask yoursysadmin why he and/or she removed it.=item Can't do waitpid with flags(F) This machine doesn't have either waitpid() or wait4(), so onlywaitpid() without flags is emulated.=item Can't emulate -%s on #! line(F) The #! line specifies a switch that doesn't make sense at thispoint. For example, it'd be kind of silly to put a B<-x> on the #!line.=item Can't %s %s-endian %ss on this platform(F) Your platform's byte-order is neither big-endian nor little-endian,or it has a very strange pointer size. Packing and unpacking big- orlittle-endian floating point values and pointers may not be possible.See L<perlfunc/pack>.=item Can't exec "%s": %s(W exec) A system(), exec(), or piped open call could not execute thenamed program for the indicated reason. Typical reasons include: thepermissions were wrong on the file, the file wasn't found inC<$ENV{PATH}>, the executable in question was compiled for anotherarchitecture, or the #! line in a script points to an interpreter thatcan't be run for similar reasons. (Or maybe your system doesn't support#! at all.)=item Can't exec %s(F) Perl was trying to execute the indicated program for you becausethat's what the #! line said. If that's not what you wanted, you mayneed to mention "perl" on the #! line somewhere.=item Can't execute %s(F) You used the B<-S> switch, but the copies of the script to executefound in the PATH did not have correct permissions.=item Can't find an opnumber for "%s"(F) A string of a form C<CORE::word> was given to prototype(), but thereis no builtin with the name C<word>.=item Can't find %s character property "%s"(F) You used C<\p{}> or C<\P{}> but the character property by that namecould not be found. Maybe you misspelled the name of the property(remember that the names of character properties consist only ofalphanumeric characters), or maybe you forgot the C<Is> or C<In> prefix?=item Can't find label %s(F) You said to goto a label that isn't mentioned anywhere that it'spossible for us to go to. See L<perlfunc/goto>.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?