perl中的正则表达式问题

时间:2014-03-25 05:31:55

标签: regex perl

我无法在perl脚本中检测到如下问题;任何帮助。

my $TotalTestRunUI = undef;
my $TotalTestPassUI = undef;
my $TotalTestFailUI = undef;
my $TotalTestSkippedUI = undef;
my $PercentageTestPassedUI = undef;

# REG EXX EXPRESSION IN FILE - 12/12/0/0

open(FILE1, "ci_report.txt") or die "Couldn't open file file.txt, $!";

print "Rajesh 1\n";

while (<FILE1>) {
    print "Rajesh 2\n";

    if($_ =~ #^(\d+)/(\d+)/(\d+)/(\d+)$#)
    {
        $TotalTestRunUI = $1;
        $TotalTestPassUI = $2;
        $TotalTestFailUI = $3;
        $TotalTestSkippedUI = $4;
        $PercentageTestPassedUI = ($2/$1*100);

        print $1;
        print $2;
        print $3;
        print $4;

    print "Rajesh 3\n";
    }
  close();
}

print "Rajesh 4\n";

2 个答案:

答案 0 :(得分:0)

my $TotalTestRunUI = undef;
my $TotalTestPassUI = undef;
my $TotalTestFailUI = undef;
my $TotalTestSkippedUI = undef;
my $PercentageTestPassedUI = undef;

# REG EXX EXPRESSION IN FILE - 12/12/0/0

open(FILE1, "ci_report.txt") or die "Couldn't open file file.txt, $!";

print "Rajesh 1\n";

while (<FILE1>) {
    print "Rajesh 2\n";

    if($_ =~ /^(\d+)\/(\d+)\/(\d+)\/(\d+)$/)
    {
        $TotalTestRunUI = $1;
        $TotalTestPassUI = $2;
        $TotalTestFailUI = $3;
        $TotalTestSkippedUI = $4;
        $PercentageTestPassedUI = ($2/$1*100);

        print $1;
        print $2;
        print $3;
        print $4;

    print "Rajesh 3\n";
    }

}

print "Rajesh 4\n";

答案 1 :(得分:0)

只需添加对chomp功能的调用:

while (<FILE1>) {
    chomp;

    print "Rajesh 2\n";
    if($_ =~ #^(\d+)/(\d+)/(\d+)/(\d+)$#)