in reply to hashes with multiple values

Another way you shouldn't do it:

push@{$hash{$keys[$_%@keys]}},(@val1,@val2,@val3)[$_]for(0..@keys*3-1);