#!/usr/bin/env perl -l use strict; use warnings; my @array = (1, 2, 3, 4, 2, 1, 2, 0, 1, 0, 0); print "@array"; my $zeros = 0; @array = map { $_ == 0 ? ++$zeros && () : $_ } @array; unshift @array, (0) x $zeros; print "@array"; #### 1 2 3 4 2 1 2 0 1 0 0 0 0 0 1 2 3 4 2 1 2 1