Easier to understand? Debateable. I feel that this
my @chars
= ("a".."z", "A".."Z", 0..9
, split //, qq(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~));
looks a bit messy and it is difficult to see at a glance, or even with a long stare, if you've got them all. In fact, I think tilly will have missed one since qq{...} is going to lose the backslash so q{...} might have been better.
$ perl -le 'print for split m{}, qq{!@#{}[\]&*};'
!
@
#
{
}
[
]
&
*
$ perl -le 'print for split m{}, q{!@#{}[\]&*};'
!
@
#
{
}
[
\
]
&
*
$
Cheers, JohnGG
Update: Added one-liners to show backslash behaviour |