When you do a simple match, you can assign the captured portions to an array like this:
my $str = "foobarbaz"; my @a = $str =~ /(.)oo(.)ar(.)az/; local $, = ", "; print @a; __OUTPUT__ f, b, b
Given that, you can wrap the match in a qr// and run it twice:
my $regex = qr/(.)oo(.)ar(.)az/; my $str = "foobarbaz"; my @a = $str =~ $regex; $str =~ s/$regex/$3$2$1/; local $, = ", "; print $str, @a; __OUTPUT__ bbf, f, b, b
----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer
: () { :|:& };:
Note: All code is untested, unless otherwise stated
In reply to Re: Array of ($1, $2, ...) in replacement part of s///?
by hardburn
in thread Array of ($1, $2, ...) in replacement part of s///?
by sleepingsquirrel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |