Perl同时打印输出到同一控制台和文件

时间:2016-11-08 08:24:46

标签: perl stdout

我有2个perl脚本文件,我想将输出(文件1和文件2)同时打印到同一控制台和日志文件,怎么做? 我的脚本在完成执行文件2时只打印文件2输出到控制台屏幕。我需要将文件2输出打印到控制台实时,而不是等到它完成执行。

文件1:test_perl.pl

use File::Basename;
use strict;
use Env;

my $MSGOUT = \*STDOUT;
open( LOGFILE, ">/tmp/lofgile.txt" ) || die "Unable to open log file /tmp/lofgile.txt : $! \n\n";
$MSGOUT = \*LOGFILE;

my $output_log =`perl /tmp/test_perl_2.pl 2>&1`;
print $MSGOUT "$output_log";

文件2:test_perl_2.p l

use File::Basename;
use strict;
use Env;

print "Hello from test perl 2\n";

foreach my $i (0..100) {
  print "testing $i\n";
}
print "----------------\n";
sleep(5);
foreach my $i (101..200) {
  print "testing $i\n";
}

0 个答案:

没有答案