h0mee has asked for the wisdom of the Perl Monks concerning the following question:
Rats. So then I tried:my $var = "my dog spot"; my $expr = qr|(my dog) spot|; my $sub = qr|\1 spooge|; $var =~ s/$expr/$sub/; print $var #error: "/\1 spooge/: reference to nonexistent group"
Trying to be clever doesn't work either:my $var = "my dog spot"; my $expr = qr|(my dog) spot|; my $sub = qr|$1 spooge|; $var =~ s/$expr/$sub/; print $var; #prints: (?-xism: spooge)
my $var = "my dog spot"; my $expr = qr|(my dog) spot|; my $sub = qq|$1 spooge|; $var =~ s/$expr/qr|$sub|/e; print $var; #prints (?-xism: spooge)
How do I get it so that it prints: "my dog spooge"? Given the above example where I don't know what my matching pattern or subsitution pattern is going to be? Again, it works fine if I don't have backrefs- but backreferences are pretty critical to the work we are doing. Thanks!!! h0meemy $var = "my dog spot"; my $expr = qq|(my dog) spot|; my $sub = qq|\1 spooge|; #could be $1 $var =~ s/$expr/$sub/e; #prints " spooge"
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: substitution interpolation?
by grinder (Bishop) on May 31, 2001 at 12:03 UTC | |
by larryk (Friar) on May 31, 2001 at 14:39 UTC | |
|
Re: substitution interpolation?
by h0mee (Acolyte) on May 31, 2001 at 05:20 UTC | |
by lestrrat (Deacon) on May 31, 2001 at 06:35 UTC | |
by h0mee (Acolyte) on May 31, 2001 at 06:43 UTC | |
by lestrrat (Deacon) on May 31, 2001 at 06:47 UTC | |
|
Re: substitution interpolation?
by tachyon (Chancellor) on May 31, 2001 at 07:14 UTC | |
by sierrathedog04 (Hermit) on May 31, 2001 at 13:46 UTC |