This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Document "Ambiguous use of %c{%s} resolved to %c%s"
authorJames Mastros <james@mastros.biz>
Wed, 2 Jun 2010 16:44:45 +0000 (17:44 +0100)
committerRafael Garcia-Suarez <rgs@consttype.org>
Mon, 26 Jul 2010 08:13:01 +0000 (10:13 +0200)
pod/perldiag.pod
t/porting/diag.t

index 55e53f1..15af00a 100644 (file)
@@ -98,6 +98,15 @@ meant the infix operator, but please try to make it more clear -- in
 the example given, you might write C<*foo * foo()> if you really meant
 to multiply a glob by the result of calling a function.
 
+=item Ambiguous use of %c{%s} resolved to %c%s
+
+(W ambiguous) You wrote something like C<@{foo}>, which might be
+asking for the variable C<@foo>, or it might be calling a function
+named foo, and dereferencing it as an array reference.  If you wanted
+the varable, you can just write C<@foo>.  If you wanted to call the
+function, write C<@{foo()}> ... or you could just not have a variable
+and a function with the same name, and save yourself a lot of trouble.
+
 =item '|' and '<' may not both be specified on command line
 
 (F) An error peculiar to VMS.  Perl does its own command line
index 46b4a86..084afb7 100644 (file)
@@ -226,7 +226,6 @@ sub check_file {
 # PLEASE DO NOT ADD TO THIS LIST.  Instead, write an entry in
 # pod/perldiag.pod for your new (warning|error).
 __DATA__
-Ambiguous use of %c{%s} resolved to %c%s
 Ambiguous use of %c{%s%s} resolved to %c%s%s
 Ambiguous use of -%s resolved as -&%s()
 Argument "%s" isn't numeric