remove misleading comment (from M.J.T. Guy)
[p5sagit/p5-mst-13.2.git] / pod / perldiag.pod
index 0196338..a49b9af 100644 (file)
@@ -1856,13 +1856,13 @@ catches that.  But an easy way to do the same thing is:
 
 Another way is to assign to a substr() that's off the end of the string.
 
-=item Modification of non-creatable array value attempted, subscript %d
+=item Modification of non-creatable array value attempted, %s
 
 (F) You tried to make an array value spring into existence, and the
 subscript was probably negative, even counting from end of the array
 backwards.
 
-=item Modification of non-creatable hash value attempted, subscript "%s"
+=item Modification of non-creatable hash value attempted, %s
 
 (P) You tried to make a hash value spring into existence, and it
 couldn't be created for some peculiar reason.
@@ -1871,11 +1871,11 @@ couldn't be created for some peculiar reason.
 
 (F) Only a bare module name is allowed as the first argument to a "use".
 
-=item Module name required with -M option
+=item Module name required with -%c option
 
-(F) The C<-M> option says that Perl should load some module, but you
-omitted the name of the module.  Consult L<perlrun> for full details
-about C<-M>.
+(F) The C<-M> or C<-m> options say that Perl should load some module, but
+you omitted the name of the module.  Consult L<perlrun> for full details
+about C<-M> and C<-m>.
 
 =item msg%s not implemented
 
@@ -2680,7 +2680,7 @@ which is why it's currently left out of your copy.
 (F) More than 100 levels of inheritance were used.  Probably indicates
 an unintended loop in your inheritance hierarchy.
 
-=item Recursive inheritance detected while looking for method '%s' in package '%s'
+=item Recursive inheritance detected while looking for method %s
 
 (F) More than 100 levels of inheritance were encountered while invoking
 a method.  Probably indicates an unintended loop in your inheritance
@@ -2976,7 +2976,7 @@ quantifier inside the assertion instead.  For example, the way to match
 "abc" provided that it is followed by three repetitions of "xyz" is
 C</abc(?=(?:xyz){3})/>, not C</abc(?=xyz){3}/>.
 
-=item Stub found while resolving method `%s' overloading `%s' in package `%s'
+=item Stub found while resolving method `%s' overloading %s
 
 (P) Overloading resolution over @ISA tree may be broken by importation
 stubs.  Stubs should never be implicitly created, but explicit calls to
@@ -3546,6 +3546,14 @@ a package qualifier, e.g. C<&our()>, or C<Foo::our()>.
 defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
 To suppress this warning assign a defined value to your variables.
 
+To help you figure out what was undefined, perl tells you what operation
+you used the undefined value in.  Note, however, that perl optimizes your
+program and the operation displayed in the warning may not necessarily
+appear literally in your program.  For example, C<"that $foo"> is
+usually optimized into C<"that " . $foo>, and the warning will refer to
+the C<concatenation (.)> operator, even though there is no C<.> in your
+program.
+
 =item Value of %s can be "0"; test with defined()
 
 (W misc) In a conditional expression, you used <HANDLE>, <*> (glob),