in reply to substitution in $0

I don't really advocate what you are doing, better I think to store your vars in a seperate file and read them in at runtime, but if you insist, you could use Inline::Files, which make what your doing fairly trivial.

#! perl -sw use strict; use Inline::Files -backup; BEGIN{ $::name1 = <MY_VARS>; chomp($::name1); $::name2 = <MY_VARS>; chomp($::name2); } print "This time I have $::name1, and $::name2\n"; $::name1 = 'frederica'; $::name2 = 'willamina'; END{ open MY_VARS, '>' or die $!; print MY_VARS "$::name1\n$::name2\n"; close MY_VARS; } __MY_VARS__ fred bill __DATA__ C:\test>202246 This time I have fred, and bill C:\test>202246 This time I have frederica, and willamina C:\test>

Nice things is that the module is tested, proven and has a backup facility (though only one level of backup).

Also, doing this way you don't have to worry about making changes to your code and then having to modify your regexes, or risk forgetting and totally screwing your code.

Using the BEGIN and END blocks makes sure it get done at the right time.


Cor! Like yer ring! ... HALO dammit! ... 'Ave it yer way! Hal-lo, Mister la-de-da. ... Like yer ring!