cLive ;-) has asked for the wisdom of the Perl Monks concerning the following question:
For tidiness, I want to store a bunch of regular expressions outside of a script, but I can't work out how to get interpolation of the replace string correct. Here's a simple example:
#!/usr/bin/perl use strict; use warnings; # works as expected my $text = 'Hello world'; $text=~ s/(\w+)/$1 Perl/; print "Regular regex: $text\n"; # but now try with variable interpolation my $text2 = 'Hello world'; my $match = qr/(\w+)/; my $replace = '$1 Perl'; $text2 =~ s/$match/$replace/e; # not what I want print "Interpolated regex: $text2\n";
I won't bore you with all the variations I've tried so far, but I've been playing with this for an hour (including qr and different modifiers) and it's driving me crazy. Any ideas?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Regular expression "replace string interpolation" problem
by pc88mxer (Vicar) on May 16, 2008 at 22:21 UTC | |
by cLive ;-) (Prior) on May 16, 2008 at 22:25 UTC | |
by ikegami (Patriarch) on May 16, 2008 at 22:39 UTC | |
by pc88mxer (Vicar) on May 17, 2008 at 06:36 UTC | |
|
Re: Regular expression "replace string interpolation" problem
by ikegami (Patriarch) on May 16, 2008 at 22:27 UTC | |
|
Re: Regular expression "replace string interpolation" problem
by pc88mxer (Vicar) on May 17, 2008 at 07:09 UTC | |
by Anonymous Monk on Mar 31, 2009 at 15:58 UTC | |
|
Re: Regular expression "replace string interpolation" problem
by JEB (Novice) on Oct 24, 2010 at 16:11 UTC |