> -----Original Message-----
> From: $Bill Luebkert
> Sent: Monday, July 25, 2005 11:42 PM
>
> robert wrote:
>
> >>s/"([^"]+) ([^"]+)"/$1\000$2/g;
> >
> > holy cow. can you explain that substitution? my brain just about
> > popped.
>
> It's just replacing the blank/space between two words with a
> binary 0 and losing the quotes.
yeah... the quote/not-a-quote freaked me out because i
thought quotes had to be escaped \"
anyhow, very cool... i like it :-)
> Lyle didn't like that one cause it didn't handle mult spaces.
>
> Here's another that handles mult spaces :
>
> use strict;
> use warnings;
>
> $_ = 'one "two three" "four five six" seven eight';
>
> # you could call a sub rather than doing it all in the second half
> # of the substitute ($tmp is because you can't modify $1).
>
> s/"([^"]+ +[^"]+)"/my $tmp = $1; $tmp =~ s! !\000!g; sprintf $tmp/eg;
>
> my @a = split / +/;
> foreach (@a) {
> s/\000/ /g;
> print "$_\n";
> }
>
> That should make Lyle happy.
>
well, it better.
_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs