perl的hash是不是有个内部指针?

perl的hash是不是有个内部指针?

perl的hash是不是有个内部指针?
1 编写了一段程序,发现hash在第二个循环并不能自动从头开始,而是继续执行
结果显示在i=1的循环,程序没有从hash中取出来c=>"testc"......
程序:
my $key;
my $value;
my %myHash = ("a"=>"testa", "b"=>"testb", "c"=>"testc");
for (my $i = 0; $i<=2; $i++) {
print '$i is '.$i."\n";
while (($key, $value) = (each %myHash)) {
print '$key is '.$key."\n";
print '$value is '.$value."\n";

if ("testc" =~ /$key/) {
print "found c\n";
last;
}
}
}
结果如下:
$i is 0
$key is c
$value is testc
found c
$i is 1
$key is a
$value is testa
$key is b
$value is testb
$i is 2
$key is c
$value is testc
found c

请问高手,怎么才能让hash可以从头开始执行?先谢了。。
原来是each的问题,用fore.
原来是each的问题,用foreach就解决了。。。。。呵呵。。。耽误大家时间了。。。