in reply to Re: No ... but how about a !~ /[a-z0-9]/i challenge?
in thread !~ /\w/ challenge, anyone?
The problem with one-liners (;)) is that Unix prefers the -e argument (the code) to be quoted with double quotes, while Win32 requires that is it be quoted with single quotes. Unix allows single quotes, but most (if not all) shells will try to interpolate the dollar signs. The following code should work on Win32, but not in UNIX:
In all of these cases, single quotes instead of double quotes would alleviate these errors. But .. it's not necessarily the double quotes themselves that cause the trouble, it's the dollar signs. So ... use globs.# bash and sh [jeffa@trinity perl]$ perl -ple "}{$_=$." foo.pl Can't modify constant item in scalar assignment ... # csh and tcsh [jeffa@trinity ~/perl]$ perl -ple "}{$_=$." foo.pl Illegal variable name. # ksh $ perl -ple "}{$_=$." foo.pl Bareword found where operator expected ...
Now, Abigail-II never confirmed nor denied this, so i'll treat that as a successfully executed Unix command. ;)perl -ple "}{*_=*." foo.pl
Update:
Of course (as jmcnamara pointed out to me via /msg),
Abigail-II appears to never use Windows ... kinda throws
a monkey wrench in the theory, but ... globs still get
around that quoting problem.
jeffa
L-LL-L--L-LL-L--L-LL-L-- -R--R-RR-R--R-RR-R--R-RR B--B--B--B--B--B--B--B-- H---H---H---H---H---H--- (the triplet paradiddle with high-hat)
|
|---|