You can do this one of a few ways:
- s/stuff/stuff$extra_stuff/
- s/stuff/$&$extra_stuff/
- s/(?<=stuff)/$extra_stuff/
You're basically doing a search-and-replace, but replacing the text with part of what was already there. The 3rd regular expression uses a zero-width look-behind assertion, which technically matches nothing, but gives you a starting point for the "replace" right after the end of "stuff", so it "feels" cleaner. How it performs is another matter, and one I'm not qualified to deal with.
You may be interested in reading up on perlre for Perl regular expressions, and seeing how many examples you can figure out. Use perlre as a reference.
Update: Based on a brief Chatterbox discussion, it was determined that this isn't entirely what you want. I guess I misunderstood. If you want to put $extra_stuff at the end of the string, it might be most efficient to do something like this:
$_ .= $extra_stuff if /search term/;
If $_ contains multiple lines, perhaps this might work better:
s/\G.*?$search_term.*$/$&$extra_stuff/gm;
(That last bit is untested and sorta makes sense in my head, but your mileage may vary.) | [reply] [Watch: Dir/Any] [d/l] [select] |
There's a reason such a simple question like this got posted. The question boils it down really well. And it got answer easily. My problem answer myself was that I let it get to confusing. The problem as I saw it was this:
"Given an input unix text file that has been broken into an array by lines, had any unnessacry characters replaced with ! and split based on those !; find a keyword followed by data of unknow size that can be changed at any time and add </table><br><br><table border> to the end of it."
Which is a much harder to answer question then "If I'm searching for a keyword which is followed by "stuff", how can I add some text after the "stuff"?"
Well, that's what was going through my head. I broke the problem down to post it here, but didn't for myself.
BTW, I took Fastolfe's suggestion and it worked fine. | [reply] [Watch: Dir/Any] |
| [reply] [Watch: Dir/Any] |