Code: my @a = ( a1, a2, a3, a4, a5, ); map(&process, @a); print join " ",@a; sub process { push(@a,"x");; unshift(@a,"y");; print "array has " . scalar @a . " elements. This one is " ."====$_\n"; } Output: array has 7 elements. This one is ====a1 array has 9 elements. This one is ====a2 array has 11 elements. This one is ====a3 array has 13 elements. This one is ====a4 array has 15 elements. This one is ====a5 y y y y y a1 a2 a3 a4 a5 x x x x x