in reply to One to one relationship

If you want to ensure that your relationship is one-to-one, then you could check at run-time like this:
my %reverse = reverse %hash; die "Useful message" unless scalar keys %reverse == scalar keys %hash;

--
use JAPH;
print JAPH::asString();