Ok, wegen dem inverse dachte ich du möchtest den ganzen Hash umpolen ;)
Die Lösung, die du jetzt gepostet hast sieht aber auch nicht so aus als würde sie dir bei der oben geposteten Struktur weiterhelfen, oder hast du da nur versehentlich ein $HvA{...} zuviel gepostet?
Mit nachgestelltem for siehts übrigens noch hübscher aus ;)
$ExpState{$_} = $type for @{ $HvA{$type} };
MfG
perl -E'*==*",s;;%ENV=~m,..$,,$&+42;e,$==f;$"++for+ab..an;@"=qw,u t,,print+chr;sub f{split}say"@{=} me"'