Arrays Perl删除变量中字符串后的所有文本

Arrays Perl删除变量中字符串后的所有文本,arrays,perl,Arrays,Perl,我有一个数组,其中包含如下数字: @content = (0,1,3,4,5,6,7,8); 给定数字3,我想让数组擦除任何小于等于3的值,将数组@content更改为: 如果你愿意一路复制,那就调查一下。否则: my @content = (1,2,3,4,5,6,7,8); my $deleteUpTo = 3; for ( my $i = @content - 1; $i >= 0; --$i ) { if ($content[$i] <= $deleteUpTo

我有一个数组,其中包含如下数字:

@content = (0,1,3,4,5,6,7,8);
给定数字3,我想让数组擦除任何小于等于3的值,将数组@content更改为:


如果你愿意一路复制,那就调查一下。否则:

my @content = (1,2,3,4,5,6,7,8);

my $deleteUpTo = 3;

for ( my $i = @content - 1; $i >= 0; --$i )
{
    if ($content[$i] <= $deleteUpTo)
    {
        splice(@content, $i, 1);
    }
}

print join(', ', @content);
4,5,6,7,8

用于筛选值列表:

my @content = (1,2,3,4,5,6,7,8);

@content = grep {$_ > 3} @content;

print "@content\n";
产出:

4 5 6 7 8

对于我的$i=@content-1$i>=0-$我简化为我的$i=@内容$i-;是的。事实上,有各种各样的方法可以降低代码对新手的可读性。对,所以让我们避免不必要的复杂性。
4 5 6 7 8