in reply to Re^2: Converting File Delimiters
in thread Converting File Delimiters
I think it has something to do with the double quotes
Yes, and with your shell. As a rule of thumb, you need to quote one-liners with double quotes on Windows, and with single quotes on Unix systems including Linux, *BSD, Mac OS X and the cygwin shell.
If you use double quotes on Unix, the shell interpolates the quoted string, and because you rarely have an environment variable named "csv", each "$csv" is replaced with an empty string.
This does not happen on Windows with command.com and cmd.exe, because their quoting rules are, um, different. Strange may be a better word, bug-compatible back to MS-DOS 1.0 describes what actually happens.
And don't forget that Windows does not expand wildcards for you. This is not a problem with this one-liner, but often you want to use Win32::Autoglob:
X:\>perl -E "say for @ARGV" *.exe *.exe X:\>perl -MWin32::Autoglob -E "say for @ARGV" *.exe cksum.exe cp.exe cut.exe date.exe sort.exe sum.exe X:\>
Alexander
|
|---|