foreach my $key(keys %orgin) { #my $tmp_key=quotemeta "$key"; foreach my $val(@port_list) { $val=~s/\s+$//; #print "$val***********"; #my $tmp_val=quotemeta "$val"; if(exists $orgin{$val}) { #print "same key :$tmp_val\n"; next; } else { print "$val : $key Entered the else loop\n"; push @{$orgin{$val}}, "xxxx"; $count++; } } } print Dumper \%orgin; #### $VAR1 = { '' => [ 'xxxx' ], ' input' => [ 'xxxx' ], 'input' => [ 'ai400_INH', 'i50_TXD_p' ], 'inout' => [ 'VIORING50', 'DVCC16', 'VPRE30', 'VCC50_p', 'VIO50_p', 'io50_MISO_p', 'io50_NCS_p', 'io50_RXD_p', 'aio33_atb_0', 'aio33_atb_3' ], 'output' => [ 'ao400_INH_p' ], ' inout' => [ 'xxxx' ], 'inout [4:0]' => [ 'VIO50' ], ' inout [2:0]' => [ 'xxxx' ], ' output' => [ 'xxxx' ], ' inout [4:0]' => [ 'xxxx' ] };