in reply to Get even postion elements in an array

I'd use a simple grep, with a flipflop.
@output = do {my $i = 0; grep {$i++ % 2} @input};