diff options
author | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2004-07-22 15:50:34 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2004-07-22 15:50:34 +0000 |
commit | 6d3b25aa06c9837fbb97c3791369b6d8990787c7 (patch) | |
tree | 87f18b8ab4669ef6956f04b248f113bcfcd9f2d5 /pod | |
parent | fa3aa65a5ab84a4dd986ed927a8fcbf6d6dfcf43 (diff) | |
download | perl-6d3b25aa06c9837fbb97c3791369b6d8990787c7.tar.gz |
Sort perldiag.
p4raw-id: //depot/perl@23151
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perldiag.pod | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 999f2895fa..dee8ff2ef8 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1055,13 +1055,6 @@ indicates that such a conversion was attempted. upgradability. Upgrading to undef indicates an error in the code calling sv_upgrade. -=item Can't use '%c' in a group with different byte-order in %s - -(F) You attempted to force a different byte-order on a type -that is already inside a group with a byte-order modifier. -For example you cannot force little-endianness on a type that -is inside a big-endian group. - =item Can't use anonymous symbol table for method lookup (F) The internal routine that does method lookup was handed a symbol @@ -1103,6 +1096,13 @@ is not allowed, because the magic can be tied to only one location have variables in your program that looked like magical variables but weren't. +=item Can't use '%c' in a group with different byte-order in %s + +(F) You attempted to force a different byte-order on a type +that is already inside a group with a byte-order modifier. +For example you cannot force little-endianness on a type that +is inside a big-endian group. + =item Can't use "my %s" in sort comparison (F) The global variables $a and $b are reserved for sort comparisons. @@ -1325,6 +1325,22 @@ there are neither package declarations nor a C<$VERSION>. long for Perl to handle. You have to be seriously twisted to write code that triggers this error. +=item Deprecated use of my() in false conditional + +(D deprecated) You used a declaration similar to C<my $x if 0>. +There has been a long-standing bug in Perl that causes a lexical variable +not to be cleared at scope exit when its declaration includes a false +conditional. Some people have exploited this bug to achieve a kind of +static variable. Since we intend to fix this bug, we don't want people +relying on this behavior. You can achieve a similar static effect by +declaring the variable in a separate block outside the function, eg + + sub f { my $x if 0; return $x++ } + +becomes + + { my $x; sub f { return $x++ } } + =item DESTROY created new reference to dead object '%s' (F) A DESTROY() method created a new reference to the object which is @@ -2660,6 +2676,11 @@ C<limit datasize n> (where C<n> is the number of kilobytes) to check the current limits and change them, and in ksh/bash/zsh use C<ulimit -a> and C<ulimit -d n>, respectively. +=item Out of memory during %s extend + +(X) An attempt was made to extend an array, a list, or a string beyond +the largest possible memory allocation. + =item Out of memory during "large" request for %s (F) The malloc() function returned 0, indicating there was insufficient @@ -2667,11 +2688,6 @@ remaining memory (or virtual memory) to satisfy the request. However, the request was judged large enough (compile-time default is 64K), so a possibility to shut down by trapping this error is granted. -=item Out of memory during %s extend - -(X) An attempt was made to extend an array, a list, or a string beyond -the largest possible memory allocation. - =item Out of memory during request for %s (X|F) The malloc() function returned 0, indicating there was @@ -2925,12 +2941,6 @@ redirected it with select().) "Can't locate object method \"%s\" via package \"%s\"". It often means that a method requires a package that has not been loaded. -=item Perl %s required--this is only version %s, stopped - -(F) The module in question uses features of a version of Perl more -recent than the currently running version. How long has it been since -you upgraded, anyway? See L<perlfunc/require>. - =item Perl_my_%s() not available (F) Your platform has very uncommon byte-order and integer size, @@ -2938,6 +2948,12 @@ so it was not possible to set up some or all fixed-width byte-order conversion functions. This is only a problem when you're using the '<' or '>' modifiers in (un)pack templates. See L<perlfunc/pack>. +=item Perl %s required--this is only version %s, stopped + +(F) The module in question uses features of a version of Perl more +recent than the currently running version. How long has it been since +you upgraded, anyway? See L<perlfunc/require>. + =item PERL_SH_DIR too long (F) An error peculiar to OS/2. PERL_SH_DIR is the directory to find the @@ -3694,22 +3710,6 @@ before now. Check your control flow. (F) Perl can't peek at the stdio buffer of filehandles when it doesn't know about your kind of stdio. You'll have to use a filename instead. -=item "-T" is on the #! line, it must also be used on the command line - -(X) The #! line (or local equivalent) in a Perl script contains the -B<-T> option, but Perl was not invoked with B<-T> in its command line. -This is an error because, by the time Perl discovers a B<-T> in a -script, it's too late to properly taint everything from the environment. -So Perl gives up. - -If the Perl script is being executed as a command using the #! -mechanism (or its local equivalent), this error can usually be fixed by -editing the #! line so that the B<-T> option is a part of Perl's first -argument: e.g. change C<perl -n -T> to C<perl -T -n>. - -If the Perl script is being executed as C<perl scriptname>, then the -B<-T> option must appear on the command line: C<perl -T scriptname>. - =item Target of goto is too deeply nested (F) You tried to use C<goto> to reach a label that was too deeply nested @@ -3781,6 +3781,22 @@ target of the change to (F) Your version of the C library apparently doesn't do times(). I suspect you're not running on Unix. +=item "-T" is on the #! line, it must also be used on the command line + +(X) The #! line (or local equivalent) in a Perl script contains the +B<-T> option, but Perl was not invoked with B<-T> in its command line. +This is an error because, by the time Perl discovers a B<-T> in a +script, it's too late to properly taint everything from the environment. +So Perl gives up. + +If the Perl script is being executed as a command using the #! +mechanism (or its local equivalent), this error can usually be fixed by +editing the #! line so that the B<-T> option is a part of Perl's first +argument: e.g. change C<perl -n -T> to C<perl -T -n>. + +If the Perl script is being executed as C<perl scriptname>, then the +B<-T> option must appear on the command line: C<perl -T scriptname>. + =item To%s: illegal mapping '%s' (F) You tried to define a customized To-mapping for lc(), lcfirst, @@ -4347,22 +4363,6 @@ old way has bad side effects. it already went past any symlink you are presumably trying to look for. The operation returned C<undef>. Use a filename instead. -=item Deprecated use of my() in false conditional - -(D deprecated) You used a declaration similar to C<my $x if 0>. -There has been a long-standing bug in Perl that causes a lexical variable -not to be cleared at scope exit when its declaration includes a false -conditional. Some people have exploited this bug to achieve a kind of -static variable. Since we intend to fix this bug, we don't want people -relying on this behavior. You can achieve a similar static effect by -declaring the variable in a separate block outside the function, eg - - sub f { my $x if 0; return $x++ } - -becomes - - { my $x; sub f { return $x++ } } - =item Use of "package" with no arguments is deprecated (D deprecated) You used the C<package> keyword without specifying a package |