in reply to hashes with multiple values

Someone's already replied with what's probably the best way, but it wasn't quite obfuscated enough for me:
my%hash=map{$_,[map{shift@$_}\@val1,\@val2,\@val3]}@keys;
Of course, that destroys your value arrays, but you can always reconstitute them from %hash and @keys.
--
@/=map{[/./g]}qw/.h_nJ Xapou cets krht ele_ r_ra/; map{y/X_/\n /;print}map{pop@$_}@/for@/