use strict; use warnings; my @array; push @array, (int rand 50) + 1 for 1 .. 20; print qq{@array\n}; my @keep = (); for my $index (0 .. $#array) { push @keep, $index if $array[$index] % 2; } @array = @array[@keep]; print qq{@array\n};