in reply to Does %_ have a function or is it just for fun?

I seem to remember reading somewhere (ie I might be wrong), that due to the magic nature of typeglobs and the punctuation variables, that you can't just get a single type for each. That probably isn't too clear, it's easier with an example: Since Perl wants $_, you also get %_, @_ and &_ for free.

My (very limited) testing demonstrates that that's the case for other punctuation variables, too:

use strict; use warnings; use Data::Dumper; # $\ - output record separator %\ = ( 1 => 2); @\ = ( 1, 2 ); print Dumper \%\, \@\;; # $@ - eval error %@ = ( 3 => 4); @@ = ( 3, 4 ); print Dumper \%@, \@@;