Your use of
q instead of
qw is
probably the issue. You are assigning a single string to
@c, and then trying to extract the third value (index
2) which isn't defined.
my @c = qw' # % ( / 3 6 7 @ B C G Q R ^ s t ~ ';
It's one of those "off-by-one" letter errors.
Update: LD2 helped point out that this will
generate a warning "Possible attempt to put comments in qw() list"
when run with '-w' and 'strict', although it does print
'(' as being
$c[2]. I'm upgrading to 5.6.1
from 5.6.0
on the test system right now just to make sure there's no
additional problems.
Update2: No additional problems in 5.6.1.
It runs with the same '-w' warning about comments.