剔除bug

1.匹配从行首开始一定要加上^。

例如

匹配

Frame No.

正确为

$var =~ m/^/s*Frame/s+No/./s*/

若不加^则,可能匹配到

The status of Frame No. is

 

2.程序中要用到循环

for (my $i = 0;$i <@$lines;$i++)
 {
  if($lines->[$i] =~ m/^/s*(/d+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s+(/S+)/s*/)
  {
   
   
   for (my $j = 2;$j <= 33;$j++)
   {
    no strict 'refs';
    if($$j ne "N")
    {
     $counter++;
     if($counter eq 1)
     {
      $fault_flag = 1;
      WriteTitle;
      WriteCommand($line1);
     }
     my $k = $j - 2;
     print $wfd_fault "槽位号:$1,$k异常/n";
    }
   }
   use strict 'refs';
  }
 }

我在写了第一个循环后,发现还需要用一个,于是习惯性的又写了一个$i ,这样跟上轮循环的 $i重复了,自然就得不到想要的结果了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值