my @new_array=(); for my $i (@array) { if ($i) { push @new_array, $i; } else { unshift @new_array, $i; } } #### my @new_array = ( grep( { ! $_ } @array), grep( { $_ } @array) );