my %hashMap; open(FH,"test.txt") or die("Can't open file $! "); while () { next if ($_ =~ /^\s*$/); my ($key, $value) = /^(.*?)=(.*)$/ or die "Cannot parse $_"; if($hashMap{$key}) { $hashMap{$key}.= ",". $value; }else{ $hashMap{$key} = $value; } } for my $word (sort keys %hashMap) { print "$word=".$hashMap{$word}. "\n"; }