(D deprecated) This was an ill-advised attempt to emulate a poorly
defined B<awk> feature. Use an explicit printf() or sprintf() instead.
-=item Use of reference "%s" in array index
+=item Use of reference "%s" as array index
(W) You tried to use a reference as an array index; this probably
-isn't what you mean, because references tend to be huge numbers which
-take you out of memory, and so usually indicates programmer error.
+isn't what you mean, because references in numerical context tend
+to be huge numbers, and so usually indicates programmer error.
If you really do mean it, explicitly numify your reference, like so:
-C<$array[0+$ref]>
+C<$array[0+$ref]>. This warning is not given for overloaded objects,
+either, because you can overload the numification and stringification
+operators and then you assumedly know what you are doing.
=item Use of reserved word "%s" is deprecated
EXPECT
OPTION regex
Use of reference ".*" as array index at - line 4.
+########
+# pp_hot.c [pp_aelem]
+package Foo;use overload q("") => sub {};package main;$a = bless {}, "Foo";
+$b = {};
+{
+use warnings 'misc';
+print $x[$a];
+print $x[$b];
+}
+{
+no warnings 'misc';
+print $x[$a];
+print $x[$b];
+}
+
+EXPECT
+OPTION regex
+Use of reference ".*" as array index at - line 7.