关于数组的一个问题

关于数组的一个问题

例如现在有一个数组,判断其中值为name_*(*表示任意数字)的大小,把最大的取出其他的name_*删除
比如数组 a, b, c, name_1, name_2, name_3, d, e, f
操作完成后得到的结果应该是 a, b, c, name_3, d, e, f
你这个例子提得意思不是很明白!
数组的个数固定是吗?只是要判断中间三个的大小,然后将其他两个小的从数组中去除掉是吗?
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;
多谢了~