summaryrefslogtreecommitdiff
path: root/pod/perldiag.pod
diff options
context:
space:
mode:
Diffstat (limited to 'pod/perldiag.pod')
-rw-r--r--pod/perldiag.pod86
1 files changed, 58 insertions, 28 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index d08d2dc452..0f204a868a 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -799,6 +799,12 @@ Perhaps you need to copy the value to a temporary, and repeat that.
(F) The create routine failed for some reason while trying to process
a B<-e> switch. Maybe your /tmp partition is full, or clobbered.
+=item Cannot resolve method `%s' overloading `%s' in package `%s'
+
+(F|P) Error resolving overloading specified by a method name (as
+opposed to a subroutine reference): no such method callable via the
+package. If method name is C<???>, this is an internal error.
+
=item chmod: mode argument is missing initial 0
(W) A novice will sometimes say
@@ -823,6 +829,10 @@ the return value of your socket() call? See L<perlfunc/connect>.
inlining. See L<perlsub/"Constant Functions"> for commentary and
workarounds.
+=item Copy method did not return a reference
+
+(F) The method which overloads "=" is buggy. See L<overload/Copy Constructor>.
+
=item Corrupt malloc ptr 0x%lx at 0x%lx
(P) The malloc package that comes with Perl had an internal failure.
@@ -1177,7 +1187,7 @@ assume that an unbackslashed @ interpolates an array.)
=item Method for operation %s not found in package %s during blessing
(F) An attempt was made to specify an entry in an overloading table that
-doesn't somehow point to a valid method. See L<overload>.
+doesn't resolve to a valid subroutine. See L<overload>.
=item Might be a runaway multi-line %s string starting on line %d
@@ -1420,7 +1430,7 @@ subroutine), but found a reference to something else instead. You can
use the ref() function to find out what kind of ref it really was.
See also L<perlref>.
-=item Not a subroutine reference in %OVERLOAD
+=item Not a subroutine reference in overload table
(F) An attempt was made to specify an entry in an overloading table that
doesn't somehow point to a valid subroutine. See L<overload>.
@@ -1487,21 +1497,13 @@ will extend the buffer and zero pad the new area.
(S) An internal warning that the grammar is screwed up.
-=item Operation `%s' %s: no method found,
-
-(F) An attempt was made to use an entry in an overloading table that
-somehow no longer points to a valid method. See L<overload>.
-
-=item Stub found while resolving method `%s' overloading `%s' in package `%s'
-
-(P) Overloading resolution over @ISA tree may be broken by importing stubs.
-Stubs should never be implicitely created, but explicit calls to C<can>
-may break this.
-
-=item Cannot resolve method `%s' overloading `%s' in package `s'
+=item Operation `%s': no method found,%s
-(P) Internal error trying to resolve overloading specified by a method
-name (as opposed to a subroutine reference).
+(F) An attempt was made to perform an overloaded operation for which
+no handler was defined. While some handlers can be autogenerated in
+terms of other handlers, there is no default handler for any
+operation, unless C<fallback> overloading key is specified to be
+true. See L<overload>.
=item Operator or semicolon missing before %s
@@ -1714,27 +1716,49 @@ the BSD version, which takes a pid.
=item Possible attempt to put comments in qw() list
-(W) You probably wrote something like this:
+(W) qw() lists contain items separated by whitespace; as with literal
+strings, comment characters are not ignored, but are instead treated
+as literal data. (You may have used different delimiters than the
+exclamation marks parentheses shown here; braces are also frequently
+used.)
- qw( a # a comment
+You probably wrote something like this:
+
+ @list = qw(
+ a # a comment
b # another comment
- ) ;
+ );
when you should have written this:
- qw( a
+ @list = qw(
+ a
b
- ) ;
+ );
+
+If you really want comments, build your list the
+old-fashioned way, with quotes and commas:
+
+ @list = (
+ 'a', # a comment
+ 'b', # another comment
+ );
=item Possible attempt to separate words with commas
-(W) You probably wrote something like this:
+(W) qw() lists contain items separated by whitespace; therefore commas
+aren't needed to separate the items. (You may have used different
+delimiters than the parentheses shown here; braces are also frequently
+used.)
- qw( a, b, c );
+You probably wrote something like this:
-when you should have written this:
+ qw! a, b, c !;
+
+which puts literal commas into some of the list items. Write it without
+commas if you don't want them to appear in your data:
- qw( a b c );
+ qw! a b c !;
=item Possible memory corruption: %s overflowed 3rd argument
@@ -2002,6 +2026,12 @@ there was a failure. You probably wanted to use system() instead,
which does return. To suppress this warning, put the exec() in a block
by itself.
+=item Stub found while resolving method `%s' overloading `%s' in package `%s'
+
+(P) Overloading resolution over @ISA tree may be broken by importation stubs.
+Stubs should never be implicitely created, but explicit calls to C<can>
+may break this.
+
=item Subroutine %s redefined
(W) You redefined a subroutine. To suppress this warning, say
@@ -2558,10 +2588,10 @@ streams, such as
}
close OUT;
-=item Got an error from DosAllocMem:
+=item Got an error from DosAllocMem
-(P) An error peculiar to OS/2. Most probably you use an obsolete version
-of perl, and this should not happen anyway.
+(P) An error peculiar to OS/2. Most probably you're using an obsolete
+version of Perl, and this should not happen anyway.
=item Malformed PERLLIB_PREFIX