httpd-test-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <>
Subject Re: shell_ready function
Date Wed, 18 Aug 2004 18:14:37 GMT
Geoffrey Young wrote:
> Joe Orton wrote:
>>Does the quote escaping really work in this function?  
> hmm, it doesn't look like it does.  I think this was part of some work that
> stas and ken were doing, though, and IIRC it was some win32 command line
> thing.  but I could be wrong.
>>It confuses emacs
>>font-lock mode which doesn't see a closing quote so thinks the rest of
>>the file is part of the string.  This fixes at least the latter:
>>-    $arg =~ s/"/\"/g;
>>+    $arg =~ s/"/\\"/g;
> that looks better, but I'm not sure it's right either - if the input is
> already escaped then you've (both) over-quoted (if the first worked at all,
> that is :)  so, you look to be fine here if pre-quoted input is forbidden or
> not expected, but not so if it's already quoted, in which case something
> like this is better:
>   $arg =~ s!([^\\])"!$1\\"!g;
> the attached script runs through a few different regex and input
> combinations for visual inspection.  hopefully that will help sort this
> issue out a bit (or the original author will clear things up ;)

Yeah, I guess it's the best to ask Ken, it worked for him.

Jon's looks better, and Geoff's is even better,

I've checked CPAN and found
but it probably is not what you are after, right?

Either way +1 to Geoff's version.

and here is the optimized version of Geoff's one:

sub shell_ready_stas {
     my $arg = shift;
     $arg =~ s!\\?"!\\"!g;
     return qq["$arg"];


Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker     mod_perl Guide --->

View raw message