use feature ":5.10"; my @array = qw(red blue green yellow black white purple brown orange gray); foreach (@array) { do_something_with($item, state i++); } # Prints # 0. 'red' # 1. 'blue' # 2. 'green' # 3. 'yellow' # 4. 'black' # 5. 'white' # 6. 'purple' # 7. 'brown' # 8. 'orange' # 9. 'gray'