c:\@Work\Perl>perl -wMstrict -MData::Dump -le "my @special_characters = q{# $ % & ~ _ \\ { } ^}; dd \@special_characters; print 'number of elements in array: ', scalar @special_characters; " ["# \$ % & ~ _ \\ { } ^"] number of elements in array: 1 #### c:\@Work\Perl>perl -wMstrict -le "my @special_characters = q{# $ % & ~ _ \\ { } ^}; ;; foreach my $i (@special_characters) { print qq{>>$special_characters[$i]<<}; } " Argument "# $ % & ~ _ \\ { } ^" isn't numeric in array element at -e line 1. >># $ % & ~ _ \ { } ^<<