来自正则表达式的perl脚本中引起的分段错误

时间:2014-01-31 14:42:21

标签: regex perl

我正在执行一个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";
    }

1 个答案:

答案 0 :(得分:0)

Perl中的分段错误意味着您在Perl的版本和/或构建中发现了错误。

  • 确保您拥有适用于您的操作系统的最新版本。
  • 除非您自己编译Perl(不太可能),否则请将错误报告给操作系统的维护者/供应商。