数珠つなぎにすればスマートになるというものでもなかろうに

my @src_s = (0..9);
my @src_t = reverse @src_s;

my @num = grep $src_s[$_] * $src_t[$_] > 15, 0..$#src_s;
my @pass_s1 = @src_s[@num];
my @pass_t1 = @src_t[@num];

my(@pass_s2, @pass_t2);
for (grep $src_s[$_] * $src_t[$_] > 15, 0..$#src_s) {
  push @pass_s2, $src_s[$_];
  push @pass_t2, $src_t[$_];
}