X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldiag.pod;h=08f342aee11f8db650d1c17e7a1e364dd0e38227;hb=f34840d8d697d9f8be532dea1352cc0aeefc696b;hp=56c843e08ed41dbc67356442d824f1b4969480bc;hpb=d496d686b582057a5ea25b09da7dd67592a7e1c0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 56c843e..08f342a 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,17 +183,26 @@ 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 +=item Attempt to access disallowed key '%s' in a fixed hash -(F) When C is called in an lvalue context, the second argument must be -greater than or equal to zero. +(F) The failing code has attempted to get or set a key which is not in +the current set of allowed keys of a fixed hash. + +=item Attempt to clear a fixed hash + +(F) It is currently not allowed to clear a fixed hash, even if the +new hash would contain the same keys as before. This may change in +the future. -=item Attempt to access key '%_' in fixed hash +=item Attempt to delete readonly key '%s' from a 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 -has attempted to get or set the value of a key which does not -exist or to delete a key. +(F) The failing code attempted to delete a key whose value has been +declared readonly from a fixed hash. + +=item Attempt to delete disallowed key '%s' from a fixed hash + +(F) The failing code attempted to delete from a fixed hash a key which +is not in its key set. =item Attempt to bless into a reference @@ -673,7 +683,9 @@ editor will have a way to help you find these characters. =item Can't find %s property definition %s (F) You may have tried to use C<\p> which means a Unicode property for -example \p{Lu} is all uppercase letters. Escape the C<\p>, either +example \p{Lu} is all uppercase letters. if you did mean to use a +Unicode property, see L for the list of known properties. +If you didn't mean to use a Unicode property, escape the C<\p>, either C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, until possible C<\E>). @@ -1227,6 +1239,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 +1287,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. @@ -1308,7 +1330,9 @@ unlikely to be what you want. =item Empty %s -(F) Empty C<\p{}> or C<\P{}>. +(F) C<\p> and C<\P> are used to introduce a named Unicode property, as +described in L and L. You used C<\p> or C<\P> in +a regular expression without specifying the property name. =item entering effective %s failed @@ -1351,6 +1375,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. @@ -1680,6 +1708,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. @@ -1896,6 +1930,10 @@ when the function is called. Perl detected something that didn't comply with UTF-8 encoding rules. +One possible cause is that you read in data that you thought to be in +UTF-8 but it wasn't (it was for example legacy 8-bit data). Another +possibility is careless use of utf8::upgrade(). + =item Malformed UTF-16 surrogate Perl thought it was reading UTF-16 encoded character data but while @@ -2030,6 +2068,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. @@ -2079,6 +2124,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 @@ -2488,12 +2538,6 @@ package-specific handler. That name might have a meaning to Perl itself some day, even though it doesn't yet. Perhaps you should use a mixed-case attribute name, instead. See L. -=item Package '%s' not found (did you use the incorrect case?) - -(W misc) You included a package file via C, but the package name -did not match the file name. It's possible that you misspelled the -package name. - =item page overflow (W io) A single call to write() produced more lines than can fit on a @@ -2926,6 +2970,11 @@ in L. (S prototype) The subroutine being declared or defined had previously been declared or defined with a different function prototype. +=item Prototype not terminated + +(F) You've omitted the closing parenthesis in a function prototype +definition. + =item Quantifier in {,} bigger than %d in regex; marked by <-- HERE in m/%s/ @@ -3284,6 +3333,14 @@ See L. (F) A sort comparison subroutine may not return a list value with more or less than one element. See L. +=item splice() offset past end of array + +(W misc) You attempted to specify an offset that was past the end of +the array passed to splice(). Splicing will instead commence at the end +of the array, rather than past it. If this isn't what you want, try +explicitly pre-extending the array by assigning $#array = $offset. See +L. + =item Split loop (P) The split was looping infinitely. (Obviously, a split shouldn't @@ -3928,6 +3985,23 @@ returns no useful value. See L. (D deprecated) You are now encouraged to use the explicitly quoted form if you wish to use an empty line as the terminator of the here-document. +=item Use of /c modifier is meaningless in s/// + +(W regexp) You used the /c modifier in a substitution. The /c +modifier is not presently meaningful in substitutions. + +=item Use of /c modifier is meaningless without /g + +(W regexp) You used the /c modifier with a regex operand, but didn't +use the /g modifier. Currently, /c is meaningful only when /g is +used. (This may change in the future.) + +=item Use of /g modifier is meaningless in split + +(W regexp) You used the /g modifier on the pattern for a C +operator. Since C always tries to match the pattern +repeatedly, the C has no effect. + =item Use of *glob{FILEHANDLE} is deprecated (D deprecated) You are now encouraged to use the shorter *glob{IO} form