in reply to Getopt::Long loses char

It's a Win32 thing. Wrap the offending argument in double quotes perl test.pl --str="$%^@*jimbo" and it will work as you'd expect. If you have any double quotes in the string, they'll need to be back-whacked.

Just like any other shell, the command prompt (cmd.exe or command.com - you don't say what version of Windows you are running) has certain requirements for quoting on the command line. I took a quick look in the Win2k help file and at msdn for quoting recommendations, but didn't see any documentation. Good luck!