Additionally, it's a long-standing tradition (from early versions of Fortran, if I know my history correctly) to name loop control variables starting with $i (and $j and $k for nested loops.)
in reply to Quick easy question: What does $i mean?
It's generally considered highly bad form to have such undescriptive variable names, but small loops (less than 10 lines) tend to not be so bad to figure it out, and it's idiomatic. Everyone has always used $i for that, since the Dawn Of Time, before you had as much control over what to name your variables.
But it's not a special perl variable at all. You could change it to $loop_counter everywhere, and it'd work just fine.