I've come up with some *simple* code that seems to work:
#!/usr/bin/perl
use strict; use warnings;
$| = 1; my $total = `make -n | wc -l`; my ($count, $line); open MAKE, "make |"; foreach $line (<MAKE>) { $count++; my $percent = int(($count / $total) * 100); print "..$percent"; }
You may find that the 'MAKE' file handle is buffered by the make application.
I order to ensure 'make' doesn't buffer its output, you need to run it in its own pseudo-terminal. The Expect module may be able to help, since it runs apps in pseudo-terminals, or someone else may offer a better solution.
Its not the 'make' output that's being buffered. That doesn't get printed at all. Its my output that does appear until the whole run is done.
-- Andrew Gaffney Network Administrator Skyline Aeronautics, LLC. 636-357-1548
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>