in reply to Re^4: ::'s role in strings
in thread ::'s role in strings

Double quoted strings are bad in shells, as '$a' might be processed by the shell,

That bit is false. Double quotes are required by my shell. $ does not have a special meaning for it, and single-quoting the argument does not work. Your statement should read:

Double quoted strings are bad in some shells, as '$a' is processed by them,

I'm sure you're right that double-quoted strings are bad for his shell (and it, not perl, produced the error he posted).