⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 perl5004delta.pod

📁 MSYS在windows下模拟了一个类unix的终端
💻 POD
📖 第 1 页 / 共 4 页
字号:
=item Applying %s to %s will act on scalar(%s)(W) The pattern match (//), substitution (s///), and transliteration (tr///)operators work on scalar values.  If you apply one of them to an arrayor a hash, it will convert the array or hash to a scalar value -- thelength of an array, or the population info of a hash -- and then work onthat scalar value.  This is probably not what you meant to do.  SeeL<perlfunc/grep> and L<perlfunc/map> for alternatives.=item Attempt to free nonexistent shared string(P) Perl maintains a reference counted internal table of strings tooptimize the storage and access of hash keys and other strings.  Thisindicates someone tried to decrement the reference count of a stringthat can no longer be found in the table.=item Attempt to use reference as lvalue in substr(W) You supplied a reference as the first argument to substr() usedas an lvalue, which is pretty strange.  Perhaps you forgot todereference it first.  See L<perlfunc/substr>.=item Bareword "%s" refers to nonexistent package(W) You used a qualified bareword of the form C<Foo::>, butthe compiler saw no other uses of that namespace before that point.Perhaps you need to predeclare a package?=item Can't redefine active sort subroutine %s(F) Perl optimizes the internal handling of sort subroutines and keepspointers into them.  You tried to redefine one such sort subroutine when itwas currently active, which is not allowed.  If you really want to dothis, you should write C<sort { &func } @x> instead of C<sort func @x>.=item Can't use bareword ("%s") as %s ref while "strict refs" in use(F) Only hard references are allowed by "strict refs".  Symbolic referencesare disallowed.  See L<perlref>.=item Cannot resolve method `%s' overloading `%s' in package `%s'(P) Internal error trying to resolve overloading specified by a methodname (as opposed to a subroutine reference).=item Constant subroutine %s redefined(S) You redefined a subroutine which had previously been eligible forinlining.  See L<perlsub/"Constant Functions"> for commentary andworkarounds.=item Constant subroutine %s undefined(S) You undefined a subroutine which had previously been eligible forinlining.  See L<perlsub/"Constant Functions"> for commentary andworkarounds.=item Copy method did not return a reference(F) The method which overloads "=" is buggy. See L<overload/Copy Constructor>.=item Died(F) You passed die() an empty string (the equivalent of C<die "">) oryou called it with no args and both C<$@> and C<$_> were empty.=item Exiting pseudo-block via %s(W) You are exiting a rather special block construct (like a sort block orsubroutine) by unconventional means, such as a goto, or a loop controlstatement.  See L<perlfunc/sort>.=item Identifier too long(F) Perl limits identifiers (names for variables, functions, etc.) to252 characters for simple names, somewhat more for compound names (likeC<$A::B>).  You've exceeded Perl's limits.  Future versions of Perl arelikely to eliminate these arbitrary limitations.=item Illegal character %s (carriage return)(F) A carriage return character was found in the input.  This is anerror, and not a warning, because carriage return characters can breakmulti-line strings, including here documents (e.g., C<print <<EOF;>).=item Illegal switch in PERL5OPT: %s(X) The PERL5OPT environment variable may only be used to set thefollowing switches: B<-[DIMUdmw]>.=item Integer overflow in hex number(S) The literal hex number you have specified is too big for yourarchitecture. On a 32-bit architecture the largest hex literal is0xFFFFFFFF.=item Integer overflow in octal number(S) The literal octal number you have specified is too big for yourarchitecture. On a 32-bit architecture the largest octal literal is037777777777.=item internal error: glob failed(P) Something went wrong with the external program(s) used for C<glob>and C<< <*.c> >>.  This may mean that your csh (C shell) isbroken.  If so, you should change all of the csh-related variables inconfig.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 Invalid conversion in %s: "%s"(W) Perl does not understand the given format conversion.See L<perlfunc/sprintf>.=item Invalid type in pack: '%s'(F) The given character is not a valid pack type.  See L<perlfunc/pack>.=item Invalid type in unpack: '%s'(F) The given character is not a valid unpack type.  See L<perlfunc/unpack>.=item Name "%s::%s" used only once: possible typo(W) Typographical errors often show up as unique variable names.If you had a good reason for having a unique name, then just mentionit again somehow to suppress the message (the C<use vars> pragma isprovided for just this purpose).=item Null picture in formline(F) The first argument to formline must be a valid format picturespecification.  It was found to be empty, which probably means yousupplied it an uninitialized value.  See L<perlform>.=item Offset outside string(F) You tried to do a read/write/send/recv operation with an offsetpointing outside the buffer.  This is difficult to imagine.The sole exception to this is that C<sysread()>ing past the bufferwill extend the buffer and zero pad the new area.=item Out of memory!(X|F) The malloc() function returned 0, indicating there was insufficientremaining memory (or virtual memory) to satisfy the request.The request was judged to be small, so the possibility to trap itdepends on the way Perl was compiled.  By default it is not trappable.However, if compiled for this, Perl may use the contents of C<$^M> asan emergency pool after die()ing with this message.  In this case theerror is trappable I<once>.=item Out of memory during request for %s(F) The malloc() function returned 0, indicating there was insufficientremaining memory (or virtual memory) to satisfy the request. However,the request was judged large enough (compile-time default is 64K), soa possibility to shut down by trapping this error is granted.=item panic: frexp(P) The library function frexp() failed, making printf("%f") impossible.=item Possible attempt to put comments in qw() list(W) qw() lists contain items separated by whitespace; as with literalstrings, comment characters are not ignored, but are instead treatedas literal data.  (You may have used different delimiters than theparentheses shown here; braces are also frequently used.)You probably wrote something like this:    @list = qw(        a # a comment        b # another comment    );when you should have written this:    @list = qw(        a        b    );If you really want comments, build your list theold-fashioned way, with quotes and commas:    @list = (        'a',    # a comment        'b',    # another comment    );=item Possible attempt to separate words with commas(W) qw() lists contain items separated by whitespace; therefore commasaren't needed to separate the items. (You may have used differentdelimiters than the parentheses shown here; braces are also frequentlyused.)You probably wrote something like this:    qw! a, b, c !;which puts literal commas into some of the list items.  Write it withoutcommas if you don't want them to appear in your data:    qw! a b c !;=item Scalar value @%s{%s} better written as $%s{%s}(W) You've used a hash slice (indicated by @) to select a single element ofa 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 whenassigning to it and when evaluating its argument, while C<@foo{&bar}> behaveslike a list when you assign to it, and provides a list context to itssubscript, which can do weird things if you're expecting only one subscript.=item Stub found while resolving method `%s' overloading `%s' in %s(P) Overloading resolution over @ISA tree may be broken by importing stubs.Stubs should never be implicitly created, but explicit calls to C<can>may break this.=item Too late for "B<-T>" option(X) The #! line (or local equivalent) in a Perl script contains theB<-T> option, but Perl was not invoked with B<-T> in its argumentlist.  This is an error because, by the time Perl discovers a B<-T> ina script, it's too late to properly taint everything from theenvironment.  So Perl gives up.=item untie attempted while %d inner references still exist(W) A copy of the object returned from C<tie> (or C<tied>) was stillvalid when C<untie> was called.=item Unrecognized character %s(F) The Perl parser has no idea what to do with the specified characterin your Perl script (or eval).  Perhaps you tried to run a compressedscript, a binary program, or a directory as a Perl program.=item Unsupported function fork(F) Your version of executable does not support forking.Note that under some systems, like OS/2, there may be different flavors ofPerl executables, some of which may support fork, some not. Try changingthe name you call Perl by to C<perl_>, C<perl__>, and so on.=item Use of "$$<digit>" to mean "${$}<digit>" is deprecated(D) Perl versions before 5.004 misinterpreted any type marker followedby "$" and a digit.  For example, "$$0" was incorrectly taken to mean"${$}0" instead of "${$0}".  This bug is (mostly) fixed in Perl 5.004.However, the developers of Perl 5.004 could not fix this bug completely,because at least two widely-used modules depend on the old meaning of"$$0" in a string.  So Perl 5.004 still interprets "$$<digit>" in theold (broken) way inside strings; but it generates this message as awarning.  And in Perl 5.005, this special treatment will cease.=item Value of %s can be "0"; test with defined()(W) In a conditional expression, you used <HANDLE>, <*> (glob), C<each()>,or C<readdir()> as a boolean value.  Each of these constructs can return avalue of "0"; that would make the conditional expression false, which isprobably not what you intended.  When using these constructs in conditionalexpressions, test their values with the C<defined> operator.=item Variable "%s" may be unavailable(W) An inner (nested) I<anonymous> subroutine is inside a I<named>subroutine, and outside that is another subroutine; and the anonymous(innermost) subroutine is referencing a lexical variable defined inthe outermost subroutine.  For example:   sub outermost { my $a; sub middle { sub { $a } } }If the anonymous subroutine is called or referenced (directly orindirectly) from the outermost subroutine, it will share the variableas you would expect.  But if the anonymous subroutine is called orreferenced when the outermost subroutine is not active, it will seethe value of the shared variable as it was before and during the*first* call to the outermost subroutine, which is probably not whatyou want.In these circumstances, it is usually best to make the middlesubroutine anonymous, using the C<sub {}> syntax.  Perl has specificsupport for shared variables in nested anonymous subroutines; a namedsubroutine in between interferes with this feature.=item Variable "%s" will not stay shared(W) An inner (nested) I<named> subroutine is referencing a lexicalvariable defined in an outer subroutine.When the inner subroutine is called, it will probably see the value ofthe outer subroutine's variable as it was before and during the*first* call to the outer subroutine; in this case, after the firstcall to the outer subroutine is complete, the inner and outersubroutines will no longer share a common value for the variable.  Inother words, the variable will no longer be shared.Furthermore, if the outer subroutine is anonymous and references alexical variable outside itself, then the outer and inner subroutineswill I<never> share the given variable.This problem can usually be solved by making the inner subroutineanonymous, using the C<sub {}> syntax.  When inner anonymous subs thatreference variables in outer subroutines are called or referenced,they are automatically rebound to the current values of suchvariables.=item Warning: something's wrong(W) You passed warn() an empty string (the equivalent of C<warn "">) oryou called it with no args and C<$_> was empty.=item Ill-formed logical name |%s| in prime_env_iter(W) A warning peculiar to VMS.  A logical name was encountered when preparingto iterate over %ENV which violates the syntactic rules governing logicalnames.  Since it cannot be translated normally, it is skipped, and will notappear in %ENV.  This may be a benign occurrence, as some software packagesmight directly modify logical name tables and introduce nonstandard names,or it may indicate that a logical name table has been corrupted.=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 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 prefixof a builtin library search path, prefix2 is substituted.  The errormay appear if components are not found, or are too long.  See"PERLLIB_PREFIX" in F<README.os2>.=item PERL_SH_DIR too long(F) An error peculiar to OS/2. PERL_SH_DIR is the directory to find theC<sh>-shell in.  See "PERL_SH_DIR" in F<README.os2>.=item Process terminated by SIG%s(W) This is a standard message issued by OS/2 applications, while *nixapplications die in silence.  It is considered a feature of the OS/2port.  One can easily disable this by appropriate sighandlers, seeL<perlipc/"Signals">.  See also "Process terminated by SIGTERM/SIGINT"in F<README.os2>.=back=head1 BUGSIf you find what you think is a bug, you might check the headers ofrecently posted articles in the comp.lang.perl.misc newsgroup.There may also be information at http://www.perl.com/perl/, the PerlHome Page.If you believe you have an unreported bug, please run the B<perlbug>program included with your release.  Make sure you trim your bug downto a tiny but sufficient test case.  Your bug report, along with theoutput of C<perl -V>, will be sent off to <F<perlbug@perl.com>> to beanalysed by the Perl porting team.=head1 SEE ALSOThe F<Changes> file for exhaustive details on what changed.The F<INSTALL> file for how to build Perl.  This file has beensignificantly updated for 5.004, so even veteran users shouldlook through it.The F<README> file for general stuff.The F<Copying> file for copyright information.=head1 HISTORYConstructed by Tom Christiansen, grabbing material with permissionfrom innumerable contributors, with kibitzing by more than a few Perlporters.Last update: Wed May 14 11:14:09 EDT 1997

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -