我正在执行一个perl脚本,该脚本在脚本的根目录和子目录中运行测试。出于某种原因,虽然当测试在子目录中时我遇到了分段错误。我知道它与正则表达式代码有关,但它只是在最后一个/并且只留下文件之前将所有内容都加了。
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 PASSED\n";
unlink $log;
} else {
$int++;
push(@failedTests, "$hmlfile");
print "$hmlfile *********** FAILED ***********\n";
}
答案 0 :(得分:0)
Perl中的分段错误意味着您在Perl的版本和/或构建中发现了错误。