use strict; use warnings; my @array= 1..10; do { print "@array\n" } while defined shift @array; @array= 1..10; for (1..@array) { print "@array\n"; shift @array; }