X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldiag.pod;h=3cd4ece052c3bb2914ddeab786867e279e0bdfa9;hb=ff44e9538d55b6678e360b6132341dbc2eb5d2c3;hp=a7d3cd9bd0aba7ed5b5dfb2fe378d8707c04e637;hpb=9a0b38591ec92584fe5748c50f22aa25d7d51e40;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldiag.pod b/pod/perldiag.pod index a7d3cd9..3cd4ece 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1,3 +1,4 @@ +//depot/perl/pod/perldiag.pod#272 - edit change 14824 (text) =head1 NAME perldiag - various Perl diagnostics @@ -182,12 +183,7 @@ spots. This is now heavily deprecated. must either both be scalars or both be lists. Otherwise Perl won't know which context to supply to the right side. -=item Negative offset to vec in lvalue context - -(F) When C is called in an lvalue context, the second argument must be -greater than or equal to zero. - -=item Attempt to access to key '%_' in fixed hash +=item Attempt to access key '%_' in fixed hash (F) A hash has been marked as READONLY at the C level to turn it into a "record" with a fixed set of keys. The failing code @@ -543,9 +539,9 @@ quotas or other plumbing problems. =item Can't declare class for non-scalar %s in "%s" -(S) Currently, only scalar variables can declared with a specific class -qualifier in a "my" or "our" declaration. The semantics may be extended -for other types of variables in future. +(F) Currently, only scalar variables can be declared with a specific +class qualifier in a "my" or "our" declaration. The semantics may be +extended for other types of variables in future. =item Can't declare %s in "%s" @@ -1227,6 +1223,11 @@ array is empty, just use C for example. checks for an undefined I value. If you want to see if the hash is empty, just use C for example. +=item %s defines neither package nor VERSION--version check failed + +(F) You said something like "use Module 42" but in the Module file +there are neither package declarations nor a C<$VERSION>. + =item Delimiter for here document is too long (F) In a here document construct like C<<, the label C is too @@ -1270,6 +1271,11 @@ you called it with no args and both C<$@> and C<$_> were empty. See Server error. +=item %s does not define %s::VERSION--version check failed + +(F) You said something like "use Module 42" but the Module did not +define a C<$VERSION.> + =item Don't know how to handle magic of type '%s' (P) The internal handling of magical variables has been cursed. @@ -1289,6 +1295,11 @@ something that isn't defined yet, you don't actually have to define the subroutine or package before the current location. You can use an empty "sub foo;" or "package FOO;" to enter a "forward" declaration. +=item dump() better written as CORE::dump() + +(W misc) You used the obsolescent C built-in function, without fully +qualifying it as C. Maybe it's a typo. See L. + =item Duplicate free() ignored (S malloc) An internal routine called free() on something that had @@ -1346,6 +1357,10 @@ Perl identifier. If you're just trying to glob a long list of filenames, try using the glob() operator, or put the filenames into a variable and glob that. +=item exec? I'm not *that* kind of operating system + +(F) The C function is not implemented in MacPerl. See L. + =item Execution of %s aborted due to compilation errors (F) The final summary message when a Perl compilation fails. @@ -1467,7 +1482,7 @@ to the end of your file without finding such a line. (W redefine) You redefined a format. To suppress this warning, say { - no warnings; + no warnings 'redefine'; eval "format NAME =..."; } @@ -1554,6 +1569,11 @@ version of Perl, and this should not happen anyway. (F) Unlike with "next" or "last", you're not allowed to goto an unspecified destination. See L. +=item %s-group starts with a count + +(F) In pack/unpack a ()-group started with a count. A count is +supposed to follow something: a template character or a ()-group. + =item %s had compilation errors (F) The final summary message when a C fails. @@ -1605,6 +1625,11 @@ when Perl was built using standard options. For some reason, your version of Perl appears to have been built without this support. Talk to your Perl administrator. +=item Illegal character in prototype for %s : %s + +(W syntax) An illegal character was found in a prototype declaration. Legal +characters in prototypes are $, @, %, *, ;, [, ], &, and \. + =item Illegal division by zero (F) You tried to divide a number by 0. Either something was wrong in @@ -1665,6 +1690,12 @@ would otherwise result in the same message being repeated. Failure of user callbacks dispatched using the C flag could also result in this warning. See L. +=item In EBCDIC the v-string components cannot exceed 2147483647 + +(F) An error peculiar to EBCDIC. Internally, v-strings are stored as +Unicode code points, and encoded in EBCDIC as UTF-EBCDIC. The UTF-EBCDIC +encoding is limited to code points no larger than 2147483647 (0x7FFFFFFF). + =item Insecure dependency in %s (F) You tried to do something that the tainting mechanism didn't like. @@ -1794,13 +1825,14 @@ neither as a system call or an ioctl call (SIOCATMARK). =item `%s' is not a code reference -(W) The second (fourth, sixth, ...) argument of overload::constant needs -to be a code reference. Either an anonymous subroutine, or a reference +(W overload) The second (fourth, sixth, ...) argument of overload::constant +needs to be a code reference. Either an anonymous subroutine, or a reference to a subroutine. =item `%s' is not an overloadable type -(W) You tried to overload a constant type the overload package is unaware of. +(W overload) You tried to overload a constant type the overload package is +unaware of. =item junk on end of regexp @@ -1871,10 +1903,10 @@ appear if components are not found, or are too long. See =item Malformed prototype for %s: %s -(F) You declared or tried to use a function with a malformed -prototype. The syntax of function prototypes is given a brief -compile-time check for obvious errors like invalid characters. A more -rigorous check is run when the function is called. +(F) You tried to use a function with a malformed prototype. The +syntax of function prototypes is given a brief compile-time check for +obvious errors like invalid characters. A more rigorous check is run +when the function is called. =item Malformed UTF-8 character (%s) @@ -2014,6 +2046,13 @@ couldn't be created for some peculiar reason. you omitted the name of the module. Consult L for full details about C<-M> and C<-m>. +=item More than one argument to open + +(F) The C function has been asked to open multiple files. This +can happen if you are trying to open a pipe to a command that takes a +list of arguments, but have forgotten to specify a piped open mode. +See L for details. + =item msg%s not implemented (F) You don't have System V message IPC on your system. @@ -2063,6 +2102,11 @@ provided for this purpose. (F) You tried to do a read/write/send/recv operation with a buffer length that is less than 0. This is difficult to imagine. +=item Negative offset to vec in lvalue context + +(F) When C is called in an lvalue context, the second argument must be +greater than or equal to zero. + =item Nested quantifiers in regex; marked by <-- HERE in m/%s/ (F) You can't quantify a quantifier without intervening parentheses. So @@ -2197,6 +2241,11 @@ immediately after the switch, without intervening spaces. (F) The indicated command line switch needs a mandatory argument, but you haven't specified one. +=item No such class %s + +(F) You provided a class qualifier in a "my" or "our" declaration, but +this class doesn't exist at this point in your program. + =item No such pipe open (P) An error peculiar to VMS. The internal routine my_pclose() tried to @@ -2292,6 +2341,12 @@ supplied. See L. of Perl. Check the #! line, or manually feed your script into Perl yourself. +=item %s not allowed in length fields + +(F) The count in the (un)pack template may be replaced by C<[TEMPLATE]> only if +C