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

I currently have multiple flatfile database. I access the infomation in them by doing the open sequence and then by:
@cinfo = <FILEHANDLE>;
Then I get the indiviual scalars by using $cinfo[0], $cinfo[1] etc....

The problem is that I need the $cinfo[1] to go back to 0 on ALL of the .txt files in the directory.

Any Suggestions?

Granite

Replies are listed 'Best First'.
(tye)Re: getting 0 back on multiple flatfile databases
by tye (Sage) on Dec 30, 2000 at 21:17 UTC
    perl -i.one -le 'chomp( my @cinfo= <> ); $cinfo[1]=0; print @cinfo' *. +txt perl -i.one -e 'my @cinfo= <>; $cinfo[1]= "0\n"; print @cinfo' *.txt perl -i.one -nle 'print 2==$. ? 0 : $_' *.txt perl -i.one -ple '$_= 0 if 2==$.' *.txt perl -i.one -pe '$_= "0\n" if 2==$.' *.txt

    But if you are on Win32, you instead could use:

    perl -i.one -le "BEGIN{@ARGV= glob(@ARGV)} chomp( my @cinfo= <> ); $ci +nfo[1]= 0; print @cinfo" *.txt perl -i.one -e "BEGIN{@ARGV= glob(@ARGV)} my @cinfo= <>; $cinfo[1]= 0. +$/; print @cinfo" *.txt perl -i.one -nle "BEGIN{@ARGV= glob(@ARGV)} print 2==$. ? 0 : $_" *.tx +t perl -i.one -ple "BEGIN{@ARGV= glob(@ARGV)} $_= 0 if 2==$." *.txt perl -i.one -pe "BEGIN{@ARGV= glob(@ARGV)} $_= 0.$/ if 2==$." *.txt

    But there are lots of other ways you could do it as well.

            - tye (but my friends call me "Tye")
Re: getting 0 back on multiple flatfile databases
by davorg (Chancellor) on Dec 30, 2000 at 21:07 UTC