and really, couldn't this whole chain of stuff be done
automaticaly? laziness, man. you've typed basically the
same line 50 times.
How do you know he didn't do it automatically? :) At any
rate, yes you could have it generated programatically. If
they weren't lexically declared and were stuck in their
own package you could just slurp from the symbol table. But
something like this would work in this case where they are
lexicals.
{
no strict 'refs';
my @chrs = ( 'a'..'h', 'k', 'm', 'n', 'p'..'z' );
push @chrs, map uc, @chrs;
push @chrs, 2..9;
$charlist{ $_ } = \@{"char_$_"} foreach @chrs;
}