in reply to Underscore in scalar name not in main package

You probably missed the caret symbol. Here is the relevant passage from perlvar:

In particular, the special ${^_XYZ} variables are always taken to be in package main, regardless of any package declarations presently in scope.

Note that this paragraph should be read as the last paragraph of the whole section "The Syntax of Variable Names ", as it provides additional information to important details in the preceding text. It definitely doesn't mean "If you want to introduce a global variable without a declaration, start its name with ^_!".

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]