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