in reply to Golf/Perlish solution to this problem?
Another way to do it:
for ( 0 .. @array / 2 ) { my ( $lower, $upper ) = ( shift @array, pop @array ); push @other_array, $lower % 2 ? ( $upper, $lower ) : ( $lower, $up +per ); } [download]