http://qs321.pair.com?node_id=202246

Discipulus has asked for the wisdom of the Perl Monks concerning the following question:

Hello monks!
maybe this question is dangerous/stupid but I'm in a blind-way..
I wont to modify the source of the script I'm executing refreshing the value of a variable so that next time I run that code smartly.I don't wont to use another file.
open (PROG, ">>$0"); seek (PROG, 0, 0); #not working while (<PROG>) { if ($_=~/$\$data=/){s/\$_/\$data=$new_value;/} } close (PROG);

If I try with this code above the new resulting code is double (the second with a funny shabang). Seek seems not work (if I try, after seek to print "hello", it print it at the end of the file).Maybe my regex is terrible(I had split for now the substitution)..
Some ideas?

greetings lorenzo*