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

📄 ch33_01.htm

📁 编程珍珠,里面很多好用的代码,大家可以参考学习呵呵,
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<dt><b><tt class="literal">Can't ignore signal CHLD, forcing to default</tt></b></dt><dd><p>(W signal) Perl has detected that it is being run with the <tt class="literal">SIGCHLD</tt> signal(sometimes known as <tt class="literal">SIGCLD</tt>) disabled.  Since disabling this signalwill interfere with proper determination of exit status of childprocesses, Perl has reset the signal to its default value. This situation typically indicates that the parent program underwhich Perl may be running (e.g., <em class="emphasis">cron</em>) is being very careless.</p></dd><dt><b><tt class="literal">Can't localize through a reference</tt></b></dt><dd><p>(F) You said something like <tt class="literal">local $$ref</tt>, which Perl can't currentlyhandle because when it goes to restore the old value of whatever <tt class="literal">$ref</tt>pointed to after the scope of the <tt class="literal">local</tt> is finished, it can't besure that <tt class="literal">$ref</tt> will still be a reference.</p></dd><dt><b><tt class="literal">Can't localize lexical variable</tt> <em class="replaceable">%s</em></b></dt><dd><p>(F) You used <tt class="literal">local</tt> on a variable name that was previously declared as alexical variable using <tt class="literal">my</tt>.  This is not allowed.  If you want tolocalize a package variable of the same name, qualify it with thepackage name.</p></dd><dt><b><tt class="literal">Can't localize pseudohash element</tt></b></dt><dd><p>(F) You said something like <tt class="literal">local $ar-&gt;{'key'}</tt>, where <tt class="literal">$ar</tt> isa reference to a pseudohash.  That hasn't been implemented yet, butyou can get a similar effect by localizing the corresponding arrayelement directly--<tt class="literal">local $ar-&gt;[$ar-&gt;[0]{'key'}]</tt>.</p></dd><dt><b><tt class="literal">Can't locate auto/</tt><em class="replaceable">%s</em><tt class="literal">.al in @INC</tt></b></dt><dd><p>(F) A function (or method) was called in a package that allowsautoloading, but there is no function to autoload.  Most probable causesare a misprint in a function/method name or a failure to <tt class="literal">AutoSplit</tt>the file, say, by doing <tt class="literal">make install</tt>.</p></dd><dt><b><tt class="literal">Can't locate</tt> <em class="replaceable">%s</em></b></dt><dd><p>(F) You said to <tt class="literal">do</tt> (or <tt class="literal">require</tt>, or <tt class="literal">use</tt>) a file that couldn'tbe found. Perl looks for the file in all the locations mentioned in<tt class="literal">@INC</tt>, unless the filename included the full path to the file. Perhaps you need to set the <tt class="literal">PERL5LIB</tt> or <tt class="literal">PERL5OPT</tt> environment variableto say where the extra library is, or maybe the script needs to addthe library name to <tt class="literal">@INC</tt>.  Or maybe you just misspelled the name ofthe file.</p></dd><dt><b><tt class="literal">Can't locate object method "</tt><em class="replaceable">%s</em><tt class="literal">" via package "</tt><em class="replaceable">%s</em><tt class="literal">"</tt></b></dt><dd><p>(F) You called a method correctly, and it correctly indicated a packagefunctioning as a class, but that package doesn't define that particularmethod, nor does any of its base classes.</p></dd><dt><b><tt class="literal">Can't locate package</tt> <em class="replaceable">%s</em> <tt class="literal">for @</tt><em class="replaceable">%s</em><tt class="literal">::ISA</tt></b></dt><dd><p>(W syntax) The <tt class="literal">@ISA</tt> array contained the name of another package thatdoesn't seem to exist.</p></dd><dt><b><tt class="literal">Can't make list assignment to \%ENV on this system</tt></b></dt><dd><p>(F) List assignment to <tt class="literal">%ENV</tt> is not supported on some systems,notably VMS.</p></dd><dt><b><tt class="literal">Can't modify</tt> <em class="replaceable">%s</em> <tt class="literal">in</tt> <em class="replaceable">%s</em></b></dt><dd><p>(F) You aren't allowed to assign to the item indicated or otherwise try tochange it, such as with an autoincrement.</p></dd><dt><b><tt class="literal">Can't modify non-lvalue subroutine call</tt></b></dt><dd><p>(F) Subroutines meant to be used in lvalue context should be declared assuch.</p></dd><dt><b><tt class="literal">Can't modify nonexistent substring</tt></b></dt><dd><p>(P) The internal routine that does assignment to a <tt class="literal">substr</tt> was handeda NULL.</p></dd><dt><b><tt class="literal">Can't msgrcv to read-only var</tt></b></dt><dd><p>(F) The target of a <tt class="literal">msgrcv</tt> must be modifiable to be used as a receivebuffer.</p></dd><dt><b><tt class="literal">Can't open</tt> <em class="replaceable">%s</em><tt class="literal">:</tt> <em class="replaceable">%s</em></b></dt><dd><p>(S inplace) The implicit opening of a file through use of the <tt class="literal">&lt;&gt;</tt>filehandle, either implicitly under the <span class="option">-n</span> or <span class="option">-p</span> command-lineswitches or explicitly, failed for the indicated reason.  Usually thisis because you don't have read permission for a file which you namedon the command line.</p></dd><dt><b><tt class="literal">Can't open bidirectional pipe</tt></b></dt><dd><p>(W pipe) You tried to say <tt class="literal">open(CMD, "|cmd|")</tt>, which is notsupported.  You can try any of several modules in the Perl library todo this, such as <tt class="literal">IPC::Open2</tt>.  Alternatively, direct the pipe's output toa file using <tt class="literal">&gt;</tt>, and then read it in under a different filehandle.</p></dd><dt><b><tt class="literal">Can't open error file</tt> <em class="replaceable">%s</em> <tt class="literal">as stderr</tt></b></dt><dd><p>(F) This is an error peculiar to VMS.  Perl does its own command-lineredirection, and it couldn't open the file specified after <tt class="literal">2&gt;</tt> or<tt class="literal">2&gt;&gt;</tt> on the command line for writing.</p></dd><dt><b><tt class="literal">Can't open input file</tt> <em class="replaceable">%s</em> <tt class="literal">as stdin</tt></b></dt><dd><p>(F) This is an error peculiar to VMS.  Perl does its own command-lineredirection, and it couldn't open the file specified after <tt class="literal">&lt;</tt> onthe command line for reading.</p></dd><dt><b><tt class="literal">Can't open output file</tt> <em class="replaceable">%s</em> <tt class="literal">as stdout</tt></b></dt><dd><p>(F) This is an error peculiar to VMS.  Perl does its own command-lineredirection, and it couldn't open the file specified after <tt class="literal">&gt;</tt> or<tt class="literal">&gt;&gt;</tt> on the command line for writing.</p></dd><dt><b><tt class="literal">Can't open output pipe (name:</tt> <em class="replaceable">%s</em><tt class="literal">)</tt></b></dt><dd><p>(P) This is an error peculiar to VMS.  Perl does its own command-lineredirection, and it couldn't open the pipe into which to send datadestined for <tt class="literal">STDOUT</tt>.</p></dd><dt><b><tt class="literal">Can't open perl script "</tt><em class="replaceable">%s</em><tt class="literal">":</tt> <em class="replaceable">%s</em></b></dt><dd><p>(F) The script you specified can't be opened for the indicated reason.</p></dd><dt><b><tt class="literal">Can't redefine active sort subroutine</tt> <em class="replaceable">%s</em></b></dt><dd><p>(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 <tt class="literal">sort { &amp;func } @x</tt> instead of <tt class="literal">sort func @x</tt>.</p></dd><dt><b><tt class="literal">Can't remove</tt> <em class="replaceable">%s</em><tt class="literal">:</tt> <em class="replaceable">%s</em><tt class="literal">, skipping file</tt></b></dt><dd><p>(S inplace) You requested an inplace edit without creating a backupfile.  Perl was unable to remove the original file to replace it withthe modified file.  The file was left unmodified.</p></dd><dt><b><tt class="literal">Can't rename</tt> <em class="replaceable">%s</em> <tt class="literal">to</tt> <em class="replaceable">%s</em><tt class="literal">:</tt> <em class="replaceable">%s</em><tt class="literal">, skipping file</tt></b></dt><dd><p>(S inplace) The rename done by the <span class="option">-i</span> switch failed for some reason,probably because you don't have write permission to the directory.</p></dd><dt><b><tt class="literal">Can't reopen input pipe (name:</tt> <em class="replaceable">%s</em><tt class="literal">) in binary mode</tt></b></dt><dd><p>(P) An error peculiar to VMS.  Perl thought <tt class="literal">STDIN</tt> was a pipe, and tried toreopen it to accept binary data.  Alas, it failed.</p></dd><dt><b><tt class="literal">Can't reswap uid and euid</tt></b></dt><dd><p>(P) The <tt class="literal">setreuid</tt> call failed for some reason in the setuid emulatorof <em class="emphasis">suidperl</em>.</p></dd><dt><b><tt class="literal">Can't return outside a subroutine</tt></b></dt><dd><p>(F) The <tt class="literal">return</tt> statement was executed in mainline code, that is, wherethere was no subroutine call to return out of.</p></dd><dt><b><tt class="literal">Can't return</tt> <em class="replaceable">%s</em> <tt class="literal">from lvalue subroutine</tt></b></dt><dd><p>(F) Perl detected an attempt to return illegal lvalues (suchas temporary or readonly values) from a subroutine used as an lvalue. This is not allowed.</p></dd><dt><b><tt class="literal">Can't stat script "</tt><em class="replaceable">%s</em><tt class="literal">"</tt></b></dt><dd><p>(P) For some reason, you can't <tt class="literal">fstat</tt> the script even though you haveit open already.  Bizarre.</p></dd><dt><b><tt class="literal">Can't swap uid and euid</tt></b></dt><dd><p>(P) The <tt class="literal">setreuid</tt> call failed for some reason in the setuid emulatorof <em class="emphasis">suidperl</em>.</p></dd><dt><b><tt class="literal">Can't take log of</tt> <em class="replaceable">%g</em></b></dt><dd><p>(F) For ordinary real numbers, you can't take the logarithm of anegative number or zero. There's a <tt class="literal">Math::Complex</tt> package that comesstandard with Perl, though, if you really want to do that forthe negative numbers.</p></dd><dt><b><tt class="literal">Can't take sqrt of</tt> <em class="replaceable">%g</em></b></dt><dd><p>(F) For ordinary real numbers, you can't take the square root of anegative number.  There's a <tt class="literal">Math::Complex</tt> package that comes standardwith Perl, though, if you really want to do that.</p></dd><dt><b><tt class="literal">Can't undef active subroutine</tt></b></dt><dd><p>(F) You can't undefine a routine that's currently running.  You can,however, redefine it while it's running, and you can even <tt class="literal">undef</tt> theredefined subroutine while the old routine is running.  Go figure.</p></dd><dt><b><tt class="literal">Can't unshift</tt></b></dt><dd><p>(F) You tried to unshift an "unreal" array that can't be <tt class="literal">unshift</tt>ed,such as the main Perl stack.</p></dd><dt><b><tt class="literal">Can't upgrade that kind of scalar</tt></b></dt><dd><p>(P) The internal <tt class="literal">sv_upgrade</tt> routine adds "members" to an SV, makingit into a more specialized kind of SV.  The top several SV types areso specialized, however, that they cannot be interconverted.  Thismessage indicates that such a conversion was attempted.</p></dd><dt><b><tt class="literal">Can't upgrade to undef</tt></b></dt><dd><p>(P) The undefined SV is the bottom of the totem pole, in the schemeof upgradability.  Upgrading to <tt class="literal">undef</tt> indicates an error in thecode calling <tt class="literal">sv_upgrade</tt>.</p></dd><dt><b><tt class="literal">Can't use %%! because Errno.pm is not available</tt></b></dt><dd><p>(F) The first time the <tt class="literal">%!</tt> hash is used, Perl automatically loadsthe <tt class="literal">Errno</tt> module. The <tt class="literal">Errno</tt> module is expected to tie the <tt class="literal">%!</tt>hash to provide symbolic names for <tt class="literal">$!</tt> errno values.</p></dd><dt><b><tt class="literal">Can't use "my</tt> <em class="replaceable">%s</em><tt class="literal">" in sort comparison</tt></b></dt><dd><p>(F) The global variables <tt class="literal">$a</tt> and <tt class="literal">$b</tt> are reserved for sortcomparisons.  You mentioned <tt class="literal">$a</tt> or <tt class="literal">$b</tt> in the same line as the <tt class="literal">&lt;=&gt;</tt> or <tt class="literal">cmp</tt> operator, and the variable had earlier been declaredas a lexical variable.  Either qualify the sort variable with thepackage name, or rename the lexical variable.</p></dd><dt><b><tt class="literal">Bad evalled substitution pattern</tt></b></dt><dd><p>(F) You've used the <tt class="literal">/e</tt> switch to evaluate the replacement for asubstitution, but Perl found a syntax error in the code to evaluate,most likely an unexpected right brace <tt class="literal">}</tt>.</p></dd><dt><b><tt class="literal">Can't use</tt> <em class="replaceable">%s</em> <tt class="literal">for loop variable</t

⌨️ 快捷键说明

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