下面的Perl代码在PerlCritic(由Activestate提供)中会生成一个警告:
生成的警告是:
sub natural_sort {
my @sorted;
@sorted = grep {s/(^|\D)0+(\d)/$1$2/g,1} sort grep {s/(\d+)/sprintf"%06.6d",$1/ge,1} @_;
}
生成的警告是:
此处有关于该警告的更多信息 我不理解这个警告,因为我不认为我正在修改$ _,虽然我想我必须这样做。请问有人能解释一下吗?不要在列表函数中修改$ _