in reply to Reporting "percent done" while processing a large file
Now, being Mr. Binary-data-can-be-done-with-perl, i tend to do alot of binary op's on files, and for that you can do (this is untested, but mostly just to show the idea):while (my $line = <INFILE>) { if ( ($. % 5000) == 0) { print "Processed $. records\n"; # or, just to let them know # print "."; } ## process away }
my $TOTAL = (-s $FILE); while (read(INFILE,$buf,$bufsize)) { ## do work $BYTES_READ+=$bufsize; if ( ($BYTES_READ % 5000) == 0) { printf("%.3f %% (%d of %d)\n",($BYTES_READ/$TOTAL)*100,$BYTES_ +READ,$TOTAL); } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: status
by Masem (Monsignor) on Sep 18, 2001 at 17:00 UTC | |
|
Re: Re: status
by blakem (Monsignor) on Sep 18, 2001 at 21:31 UTC |