A perfectly benign use of @DB::args like
sub foo { package DB { () = caller 0 } print "@DB::args\n" }
foo(1..3);
warns under -w, though that is exactly its intended use. That is
is not nice.
warnings.pm itself uses @DB::args, which is why this went unnoticed
for so many years.
This commit eliminates the ‘used once’ warning, but the ‘Possible
unintended interpolation’ message that that code produces will be
handled in another commit.
GvMULTI_on(gv);
break;
case 'a':
+ if (stash == PL_debstash && len==4 && strEQ(name2,"rgs")) {
+ GvMULTI_on(gv_AVadd(gv));
+ break;
+ }
case 'b':
if (len == 1 && sv_type == SVt_PV)
GvMULTI_on(gv);
$123; # numbers
$_; # and
$_foo; # underscores (none of which should warn)
+@DB::args
+EXPECT
+########
+-w
+# perl.c
+print # avoid void warning
+$\, # test a few
+$:, # punct vars
+$0, # and
+$123, # numbers
+$_, # and
+$_foo, # underscores (none of which should warn)
+@DB::args
+if 0;
EXPECT
########
-W