Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Massive regexp search and replace

by rdfield (Priest)
on Feb 10, 2005 at 15:51 UTC ( #429784=note: print w/ replies, xml ) Need Help??


in reply to Massive regexp search and replace

Maybe I'm missing something completely obvious, but have you tried the "o" modifier in your regexes? eg

$INline =~ s/$Source/$Target/egoe

rdfield


Comment on Re: Massive regexp search and replace
Download Code
Re^2: Massive regexp search and replace
by albert.llorens (Initiate) on Feb 10, 2005 at 16:04 UTC
    No, but I have tried precompiling $Source with qr// in my patterns list before I do the actual replacement. Isn't that more or less equivalent to using /o?
Re^2: Massive regexp search and replace
by holli (Monsignor) on Feb 10, 2005 at 16:43 UTC
    You´re missing that the /o-modifier is just a "promise" to perl, that the variable that contains the regex won´t change within the iteration/loop. In this cause using /o is just wrong, because only the first regex would be applied over and over. Regardless of the change of $Source or $Target.

    qr//-ing the regex is something different. When you qr// a string and assign it to a variable you store the compiled regex in it. This is easily proven by ref()-ing that variable, it will return "Regexp". Of course you can store such a Regexp in whatever data-structure you want, not just plain scalars.

    But that is of little use in this case, because there is no qs//-statment (qr// is just for matching, not for replacing).


    holli, /regexed monk/

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (8)
As of 2014-12-20 22:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (99 votes), past polls