Perl script to replace a line after finding a previous line
Hi all,
At the moment I have a flat file which is being used by a few people. I want a script to remotely change the file, so I can start logging who is doing what. At this point here is one requirement I am trying to develop. We have text blocks who pretty much look like this: ---------------------- C001 $$var1=Source $$var2=Target $$var3=2 ---------------------- C006 $$var1=Source $$var2=Target $$var3=3 In this text block I first want to find C001 and afterwards change $var3. Thing is, I don't want to change all $var3's. This is my code so far; Code:
open(PARAM, "<be_cycle3b.prm") or die ("Kan parameter bestand niet openen."); Here are the used variables: $workflow (C001 as in example given) $param = $$var3 I hope this is somewhat clear. I try to find $param for the right $workflow and change that. Can you help me to find $$var3 and change that? Much appreciated. |
There is more than one way to do it
My recommendation is to use a state structure, since this makes it fairly simple to see what is going on.
Code:
open(PARAM, "<be_cycle3b.prm") or die ("Kan parameter bestand niet openen."); As for how to change $var3, just remember that, if $var = 'a' you can access $a as $$var, but read the perlreftut and/or perlref manpages for the complete story. Good luck |
All times are GMT -5. The time now is 12:11 PM. |