此代码触发投诉如下:
@H_502_2@#!/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)
@H_502_2@my @items = split(/\s+/,$s);
my $num_of_item = @items;
要么
@H_502_2@my $num_of_item = () = split /\s+/,$s,-1;注意:split()的三参数形式是必要的,因为在没有指定限制的情况下,split只会拆分一部分(比需要的多一个分配)。