#!/usr/local/bin/perl use v5.14; use Data::Dumper; my @ary; $ary[7] = 1; for(my $i = 0; $i < @ary; $i++) { my $v = $ary[$i]; say 'for(;;):$ary[' . $i . '] = ' . $v; } while(my ($i, $v) = each @ary) { # perl 5.12 or better say 'each: $ary[' . $i . '] = ' . $v; } map { my $v = $ary[$_]; say 'map: $ary[' . $_ . '] = ' . $v } (0 .. @ary - 1); say Dumper(\@ary);