From: "HENRY,MARK (HP-Roseville,ex1)" <[EMAIL PROTECTED]>
> Wondering if someone has feedback on this..
>
> When using backticks to capture the output of an external command, one
> can scan each line as it happens, or dump the output into an array and
> then go back and take a look.
>
> foreach $line (`$mycmd`) {
> if ($line=~/[Ee]rror) { last; }
> ....
>
> vs.
>
> @cmdoutput=`$mycmd`;
> foreach $line (@cmdoutput) {
> if ($line=~/[Ee]rror) { last; }
> ....
No. In both cases you only get anything after the $mycmd finishes.
If you want to read the lines as soon as the other process prints
them you have to use
open PIPE, "$mycmd |" or die "Error: $!";
while ($line = <PIPE>) {
...
}
close PIPE;
Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
-- Terry Pratchett in Sourcery
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]