my %h = map { ( split /=/, $_, 2 ) } split /,/; to my %h = map { ( split /=/, $_, 1 ) } split /,/; and my %h = map { ( split /=/, $_, 3 ) } split /,/; print "$h{'msgagt'}\n" if exists $h{'msgagt'};