http://www.perlmonks.org?node_id=284580


in reply to for, foreach and $_...

foreach(@array) { # $_ is an alias, in turn, for $array[ 0 ], $array[ 1 ], ... $array[ + n ] }
If you need a counter, try this:
foreach ( 0 .. $#array ) { # $_ 's value will be 0, 1, ..., (last index of @array) }