我正在执行一个在脚本的root目录和子目录中运行测试的perl脚本。由于某种原因,尽管测试在子目录中时,我会遇到细分故障。我知道这与Regex代码有关,但它只是在最后一个/仅留下文件之前插入所有内容。
use strict;
use warnings;
my @files = glob("*.hml");
push(@files, glob("*/*.hml"));
use File::Compare;
$hml = $hml . '/thing.exe ';
my $int = 0;
my @failedTests = qw();
print "Running $hmlfile ... :: ";
if ($hmlfile =~ s:.*/([^/]+):$1:){
}
my $file = substr($newHmlFile, 0, index($newHmlFile , '.'));
my $log = $file . '.log';
my $cmd = $hml . $newHmlFile;
$cmd = $cmd . ' > ' . $log . ' 2>&1';
system ($cmd);
my $reflog = 'RefLogs/' . $file . '.log';
if (compare($log, $reflog) == 0) {
print "$hmlfile PASSEDn";
unlink $log;
} else {
$int++;
push(@failedTests, "$hmlfile");
print "$hmlfile *********** FAILED ***********n";
}
perl中的分割故障意味着您在版本和/或构建perl中找到了一个错误。
- 确保您有最后版本可用于操作系统。
- 除非您自己编译了Perl(不太可能),请向操作系统的维护者/供应商报告错误。