$ perl -le'
use warnings;
use strict;
my @c = 1 .. 10_000_000;
print @c . " @c[0..19]";
my @d;
for my $dd ( @c ) {
push @d, $dd % 2;
}
print @d . " @d[0..19]";
my @e;
for my $ee ( @d ) {
if ( !$ee ) {
push @e, $ee;
}
}
print @e . " @e[0..19]";
'
10000000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
10000000 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
50000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
####
$ perl -le'
use warnings;
use strict;
my @c = 1 .. 10_000_000;
print @c . " @c[0..19]";
my @d = map $_%2, @c;
print @d . " @d[0..19]";
my @e = grep /0/, @d;
print @e . " @e[0..19]";
'
10000000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
10000000 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
5000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
##
##
$ perl -le'
my @c = 1 .. 10_000_000;
print @c . " @c[0..19]";
my @e = ( 0 ) x ( @c / 2 );
print @e . " @e[0..19]";
'
10000000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
5000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0