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;
        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 ;-)

-- 
felix

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to