use Data::Dumper; my @arr=(1,2,3,4,5,6,7,8,9,10); my $var; foreach(@arr){ print "foreach takes :"."$_\n"; $var=shift @arr; print "shift removes :"."$var\n"; } print Dumper \@arr;