use strict; use warnings; my $cfg = ARGV[0] or die "Usage: $0 \n"; my %hash; open my $ch, $cfg or die "$!: $cfg\n"; while( <$ch> ) { chomp; my ($k, $v) = split /\s+/; $hash{k} ||= []; push @{ $hash{$k}}, $v; } close $ch;