From: Perl 5 Porters Date: Fri, 5 Jul 1996 00:55:25 +0000 (+0000) Subject: perl 5.003_01: pod/perldiag.pod X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2ba9eb46816c54b743765e602e6039ed3cf3713e;p=p5sagit%2Fp5-mst-13.2.git perl 5.003_01: pod/perldiag.pod Typos corrected New warnings for duplicate "my" declarations in a single scope and strict untie Replace "identifier" with "name" --- diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 38edda1..1b03800 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -22,7 +22,7 @@ Trappable errors may be trapped using the eval operator. See L. Some of these messages are generic. Spots that vary are denoted with a %s, -just as in a printf format. Note that some message start with a %s! +just as in a printf format. Note that some messages start with a %s! The symbols C<"%-?@> sort before the letters, while C<[> and C<\> sort after. =over 4 @@ -33,6 +33,14 @@ The symbols C<"%-?@> sort before the letters, while C<[> and C<\> sort after. to try to declare one with a package qualifier on the front. Use local() if you want to localize a package variable. +=item "my" variable %s masks earlier declaration in same scope + +(S) A lexical variable has been redeclared in the same scope, effectively +eliminating all access to the previous instance. This is almost always +a typographical error. Note that the earlier variable will still exist +until the end of the scope or until all closure referents to it are +destroyed. + =item "no" not allowed in expression (F) The "no" keyword is recognized and executed at compile time, and returns @@ -144,7 +152,7 @@ if you meant it literally. See L. =item @ outside of string -(F) You had a pack template that specified an absolution position outside +(F) You had a pack template that specified an absolute position outside the string being unpacked. See L. =item accept() on closed fd @@ -226,7 +234,7 @@ when it shouldn't have been, or that memory has been corrupted. =item Bad arg length for %s, is %d, should be %d (F) You passed a buffer of the wrong size to one of msgctl(), semctl() or -shmctl(). In C parlance, the correct sized are, respectively, +shmctl(). In C parlance, the correct sizes are, respectively, S, S and S. @@ -531,7 +539,7 @@ do a local. =item Can't localize lexical variable %s -(F) You used local on a variable name that was previous declared as a +(F) You used local on a variable name that was previously declared as a lexical variable using "my". This is not allowed. If you want to localize a package variable of the same name, qualify it with the package name. @@ -548,7 +556,7 @@ you just misspelled the name of the file. See L. (F) You called a method correctly, and it correctly indicated a package functioning as a class, but that package doesn't define that particular -method, nor does any of it's base classes. See L. +method, nor does any of its base classes. See L. =item Can't locate package %s for @%s::ISA @@ -664,6 +672,11 @@ redefined subroutine while the old routine is running. Go figure. (F) You tried to unshift an "unreal" array that can't be unshifted, such as the main Perl stack. +=item Can't untie: %d inner references still exist + +(F) With "use strict untie" in effect, a copy of the object returned +from C (or C) was still valid when C was called. + =item Can't upgrade that kind of scalar (P) The internal sv_upgrade routine adds "members" to an SV, making @@ -713,11 +726,6 @@ are disallowed. See L. (F) A value used as either a hard reference or a symbolic reference must be a defined value. This helps to de-lurk some insidious errors. -=item Can't use delimiter brackets within expression - -(F) The ${name} construct is for disambiguating identifiers in strings, not -in ordinary code. - =item Can't use global %s in "my" (F) You tried to declare a magical variable as a lexical variable. This is @@ -982,11 +990,12 @@ an emergency basis to prevent a core dump. (D) Really old Perl let you omit the % on hash names in some spots. This is now heavily deprecated. -=item Identifier "%s::%s" used only once: possible typo +=item Name "%s::%s" used only once: possible typo -(W) Typographical errors often show up as unique identifiers. If you -had a good reason for having a unique identifier, then just mention it -again somehow to suppress the message. +(W) Typographical errors often show up as unique variable names. If you +had a good reason for having a unique name, then just mention it +again somehow to suppress the message (the C pragma is +provided for just this purpose). =item Illegal division by zero @@ -1034,7 +1043,7 @@ known value, using trustworthy data. See L. (S) A warning peculiar to VMS. Perl keeps track of the number of times you've called C and C, in order to determine -whether the current call to C should be affect the current +whether the current call to C should affect the current script or a subprocess (see L). Somehow, this count has become scrambled, so Perl is making a guess and treating this C as a request to terminate the Perl script @@ -1669,7 +1678,7 @@ expression compiler gave it. =item regexp too big -(F) The current implementation of regular expression uses shorts as +(F) The current implementation of regular expressions uses shorts as address offsets within a string. Unfortunately this means that if the regular expression compiles to longer than 32767, it'll blow up. Usually when you want a regular expression this big, there is a better @@ -2236,7 +2245,7 @@ into Perl yourself. =item Warning: unable to close filehandle %s properly. (S) The implicit close() done by an open() got an error indication on the -close(0. This usually indicates your filesystem ran out of disk space. +close(). This usually indicates your filesystem ran out of disk space. =item Warning: Use of "%s" without parens is ambiguous