Many people have commented on this, and made good suggestions, with the trend generally heading toward explicit counters rather than implicit counters. I won't add to that drift, except to request that *if* an implicit solution is implemented ($# was suggested in the original RFC), that the implicit variable name somehow be tied to the loop label, if any. That will ease confusion and localization issues wrt nested loops. Example -- Outer: for $o (@out) { Inner: for $i (@in) { print "$Outer# $Inner# \n"; } } The choice of "$looplabel#" in the above example is purely hypothetical. I don't particularly like it, but it serves as a good demonstration that the implicit variable name should be somehow related to the loop label, if any. That's all. Eric