foreach my $line (@lines) { $line =~ s/^\s+//; my @elements = split /\s+/, $line; my $key = join '-',splice @elements, 0, 2; # 2 col key $hash{$key} = \@elements if length($key) > 0; # no blank keys }