mazelmiler
关于数组的一个问题
例如现在有一个数组,判断其中值为name_*(*表示任意数字)的大小,把最大的取出其他的name_*删除
比如数组 a, b, c, name_1, name_2, name_3, d, e, f
操作完成后得到的结果应该是 a, b, c, name_3, d, e, f
hwxo
perl用得不多,只能写成这样,向各位学习
#!/usr/bin/perl
use warnings;
use strict;
my @rr=qw(a name_5690 b c name_11 name_111 name_3 d e f name_4 name_901);
my (@bb,$cc,@srr,@result);
foreach $_(@rr)
{
if ($_=~/name_(/d+)/)
{
push @bb,$1;
}
}
@srr=sort {$a<=>$b} @bb;
foreach $cc(0..$#rr)
{
push @result,$rr[$cc] unless($rr[$cc]=~/name_/d+/ and $rr[$cc]!~/name_$srr[-1]/);
}
@rr=@result;
print join ",",@rr;