my %hash; @hash{a..f} = 10..15; sub a { my $a_count; while( my ($k,$v) = each %hash) { print "$k => $v\n"; $a_count++; } $a_count++; } sub b { my $b_count; while( my ($k,$v) = each %hash) { $b_count++; print "$k => $v ($b_count out of ", a(), ")\n"; } } b() __END__ c => 12 a => 10 b => 11 d => 13 f => 15 e => 14 (1 out of 5) c => 12 a => 10 b => 11 d => 13 f => 15 e => 14 (2 out of 5) c => 12 a => 10 b => 11 d => 13 f => 15 e => 14 (3 out of 5) ...