perl中的split 函数不加参数是什么意思

2024-11-17 02:43:50
推荐回答(2个)
回答1:

split ; 即等於 split /\s+/, $_;
split // 是每一个字符做分割
split / /; 是每一个空格做分割
所以 my @str=split(/ /,$_) 是不等於 my @str = split; 的

$_ = 'chr1 1111 A T';
my @str=split(/ /,$_); # 这个只有空格
print ">$_$/" foreach @str;

my @str=split; # \s 包括了 space, tab 等等'空白'的字符
print ">$_$/" foreach @str;

回答2:

把你的上面的代码改成下面,你就可以看懂了:
while(<$dh>){
my @str=split(/ /,$_);
}

再长一点:
while($_ = <$dh>) {
my @str=split(/ /,$_);
}

再长一点点:
while(defined($_ = <$dh>) {
my @str=split(/ /,$_);
}
到这里,你已经完完明白了吧.主要是$_变量.