Felix Geerinckx wrote: > on Wed, 21 Aug 2002 11:33:06 GMT, [EMAIL PROTECTED] wrote: > >> I'm trying to substitute all references to a date (of the format >> YYYYMMDD) in a file to the current date. I'm obviously doing >> something wrong here ('cause it doesn't work!:}), as no change is >> made to the config.ini file. > >> open (FILE, ">>config.ini") || die "Can't open config.ini"; >> >> while ($line = <FILE>) { > > > You are trying to read from a file you opened for appending. > Try this instead: > > #! perl -wi.bak > use strict; > > my ($d, $m, $y) = (localtime())[3..5]; > my $date = sprintf("%4d%02d%02d", $y+1900, $m+1, $d); > while (<>) { > s/\d{8}/$date/g;
s/\d{8}/$date/go; > print; > } > > and run it as: > > $ tryme config.ini > > This will edit config.ini in-place (sort-of) and create a backup copy > config.ini.bak before making the changes. > > (BTW, you *are* sure there are no other 8-digit numbers in you file, > aren't you ;-) > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]