我是perl的新手。我正在 perl 脚本中执行一组批处理文件。我需要将批处理文件的输出(打印语句和错误)发送到日志文件。将具有我的perl脚本输出的相同日志文件。我找到了很多方法可以将perl脚本的输出放入日志文件,但是从perl脚本调用的批处理的输出仍然不会转到日志。
我的脚本看起来像这样:
#!/usr/bin/perl
use strict;
use warnings;
use File::Path;
use File::Copy;
.
.
Print "abc";
.
my @args= ('C:SBSInstallUpgradeSBSDB_Oracle.bat');
open (FHU,"|@args") or die "Fail to open Upgrade.batch file: $!";
print FHU "n";
.
.
Print " xyz";
.
.
日志中的输出如下所示美国广播公司xyz
我还需要日志中调用的批处理文件的输出
尝试使用反引号启动系统调用:
my $output = `'C:SBSInstallUpgradeSBSDB_Oracle.bat`;
print FHU $output."n";