in reply to Hash of Hash

A Hash of Hashes simply looks something like:
$ perl -MData::Dumper -e"%h=(a=>{1..4},b=>{5..8});print Dumper\%h" $VAR1 = { 'a' => { '1' => 2, '3' => 4 }, 'b' => { '7' => 8, '5' => 6 } };
What you probably want instead is a Hash of Lists. Try this:
use strict; use warnings; use Data::Dumper; ... my %hash; while (<INPUT>) { chomp; my @line = split /\s+/, $_; my ($key1,$key2) = (shift @line, shift @line); $hash{$key1} = $hash{$key2} = [@line]; } print Dumper \%hash;

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)