IF(length($ _))语句在perl脚本中的作用

时间:2014-04-07 11:31:34

标签: perl

我正在浏览一些我前段时间编写的Perl脚本来伪代码。一位朋友帮忙编写了这个脚本,但我想知道是否有人可以告诉我IF(长度($ _))语句的作用?这是整个剧本:

#!/usr/bin/perl
use strict;
use warnings;

my $inDataset = 0;

while(<>)
{
    chomp;
    s/\s*\\$//;
    if(/________/) 
    {
       $inDataset = 1;
    }
    elsif(/-------/) 
    {
        $inDataset = 0;
    }
    elsif($inDataset == 1) 
    {
        if(length($_))
        {
            ProcessData($_);
        }
    }
}

sub ProcessData
{
   my ($line) = @_;
   my @fields = split(/\s+/,$line);

   if($fields[3] =~ /p\.(...)(\d+)(...)/)
   {
      my $native = $1;
      my $resnum = $2;
      my $mutant = $3;

      print "$fields[1] $native $resnum $mutant\n"; 
   }
}

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

length($_)$_字符的形式返回length

如果if ( length($_) )已定义且非零,则

length($_)计算结果为true。因此,只有当ProcessData($_)包含字符时,代码中的条件才会运行$_