我正在浏览一些我前段时间编写的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";
}
}
提前感谢您的帮助!
答案 0 :(得分:2)
length($_)
以$_
字符的形式返回length
。
if ( length($_) )
已定义且非零,则 length($_)
计算结果为true。因此,只有当ProcessData($_)
包含字符时,代码中的条件才会运行$_
。