…そっか、5.12からeachってARRAYでも使えたんだね。
$ perl -le 'my $ref = [4,3,2,1] ; while( my ( $i, $v ) = each @{$ref} ){ printf "%s\n", join "\t", $i, $v}'
0 4
1 3
2 2
3 1


>>106
当然だが、%val_key = reverse $key_val ; は出来んかった。と自己レス