此代码触发投诉如下:
#!/usr/bin/perl use strict; use warnings; my $s = "aaa bbb"; my $num_of_item = split(/\s+/,$s) ; print $num_of_item;
解决方法
您在标量上下文中使用拆分,在标量上下文中,它拆分为@_数组。 Perl警告你,你可能刚刚破了@_。 (有关详细信息,请参阅
perldoc split)
my @items = split(/\s+/,$s); my $num_of_item = @items;
要么
my $num_of_item = () = split /\s+/,$s,-1;
注意:split()的三参数形式是必要的,因为在没有指定限制的情况下,split只会拆分一部分(比需要的多一个分配)。