Ad 1: Another reason to use lexical filehandles is that bareword filehandles clash with package names. See also
Prevent Strings From Being Interpreted As A File Handle here and
on StackOverflow.
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]