Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: Efficient way to replace a set of values with another set of values

by ColonelPanic (Friar)
on Nov 23, 2012 at 10:19 UTC ( #1005244=note: print w/ replies, xml ) Need Help??


in reply to Re: Efficient way to replace a set of values with another set of values
in thread Efficient way to replace a set of values with another set of values

Nice solution. In this case, all cases are at the beginning of the line. It might be a good idea to add an anchor in order reduce the likelihood of false positive matches:

$string =~ s/^($regexp)/$replacements{$1}/gm;
(The m switch had to added so that ^ would match on each line).


When's the last time you used duct tape on a duct? --Larry Wall


Comment on Re^2: Efficient way to replace a set of values with another set of values
Download Code
Re^3: Efficient way to replace a set of values with another set of values
by tobyink (Abbot) on Nov 23, 2012 at 10:50 UTC

    Indeed. I was in two minds about whether to include it or not. The substitutions in the examples were consistently at the start of lines, but the OP never explicitly specified that that would always be the case, so I decided to go for the more general "anywhere in the string" match.

    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
      Yeah, I agree that it depends on exact requirements. I thought it was worth mentioning though, because it's such a simple pattern that I would be worried about it popping up elsewhere in the data.


      When's the last time you used duct tape on a duct? --Larry Wall

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1005244]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2014-10-02 10:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (52 votes), past polls