<>!*''# waka waka bang splat tick tick hash
^@`$$- carat at back-tick dollar dollar dash
*!'$_ splat bang tick dollar underscore
%*<>#4 percent splat waka waka number four
&)../ ampersand right-paren dot dot slash
{~|**SYSTEM HALTED curly bracket tilde pipe splat splat crash
For the record I use
In my BASIC days chr$ was "chr bucks"
For perl I tend to stick to English punctuation names
('$'=>'dollar',
'@'=>'array'||'ary',
'%'=>'hash'||'percent',
'#'=>'hash',
'!'=>'bang',
'#!'=>'shebang',
'&'=>'ampersand',
'*'=>'star',
'/'=>'slash',
'\\'=>'back-slash',
"'"=>'tick',
'`'=>'back-tick',
'"'=>'quote"||'quot', #not usually pronounced
'~'=>'tilde', #long E
'?'=>'question mark, #hook is cooler but it never occurs to me
'|'=>'pipe',
'['=>'left bracket', #These rarely need
']'=>'right bracket',#to be pronounced
'{'=>'left curly(?: brace)',
'}'=>'right curly(?: brace)',
'<'=>'less than'||'waka',
'>'=>'greater than'||'waka',
... #dot dot dot, in this case however yadda yadda yadda
);
I read $_[1] as "array underscore sub 1"
or worst case simply "at underscore 1".
--
perl -pe "s/\b;([mnst])/'\1/mg"