in reply to Re: matching / splitting within a substitution
in thread matching / splitting within a substitution
## in the substitution part (the second half), ## the /\[B\]/ is turned into /[B]/, see results ## and deparse output at the end my $t = '[A] yoda [B] jeffa [C]'; $t =~ s { \[A\] (.*?) \[C\] } [ my $r = $1; if( $r =~ /\[B\]/ ){ $r =~ s/\[B\]/GOT B/; } $r; ]gsex; my $o = '[A] yoda [B] jeffa [C]'; $o =~ s { \[A\] (.*?) \[C\] } { my $r = $1; if( $r =~ /\[B\]/ ){ $r =~ s/\[B\]/GOT B/; } $r; }gsex; # happens here also, but is not significant # since <> aren't metacharacters my $p = '<A> yoda <B> jeffa <C>'; $p =~ s { \<A\> (.*?) \<C\> } < my $r = $1; if( $r =~ /\<B\>/ ){ $r =~ s/\<B\>/GOT B/; } $r; >gsex; print " $t $o $p "; __END__ yoda [GOT B] jeffa yoda GOT B jeffa yoda GOT B jeffa # -MO=Deparse output my $t = '[A] yoda [B] jeffa [C]'; $t =~ s[\n \[A\]\n (.*?)\n \[C\]\n ][my $r = $ +1; if ($r =~ /[B]/) { $r =~ s/[B]/GOT B/; } $r;]egsx; my $o = '[A] yoda [B] jeffa [C]'; $o =~ s[\n \[A\]\n (.*?)\n \[C\]\n ][my $r = $ +1; if ($r =~ /\[B\]/) { $r =~ s/\[B\]/GOT B/; } $r;]egsx; my $p = '<A> yoda <B> jeffa <C>'; $p =~ s[\n <A>\n (.*?)\n <C>\n ][my $r = $1; if ($r =~ /<B>/) { $r =~ s/<B>/GOT B/; } $r;]egsx; print "\n$t\n$o\n$p\n";
| MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!" | |
| I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README). | |
| ** The third rule of perl club is a statement of fact: pod is sexy. |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: matching / splitting within a substitution (simpler)
by tye (Sage) on Jul 15, 2003 at 16:56 UTC | |
by PodMaster (Abbot) on Jul 16, 2003 at 07:16 UTC |