I have a string
[something]text1[/something] blah blah [something]text2[/something]
I need to write a Perl script to read what is in the [something] tag, process it to “text-x”, and put it back with an [otherthing] tag. So the above string should be
[otherthing]text-1[/otherthing] blah blah [otherthing]text-2[/otherthing]
Processing “textx” to “text-x” is not one step process.
So this is solution that I have till now:
m/[something](?<text>.*)[/something]/
This will get me the string in between and I can process that to “text-x” but how do I put it back in the same place with [otherthing]text-x[/otherthing]?
- How do I use s/// in this case?
- How to do it for the whole string one by one ?
You can use the
/eswitch ons///to evaluate the right hand side before using the result as the substitution, and the/gflag to do this for every match.Here is a simple example: