foreach $key (keys %hash1) { if (exists $hash2{$key}) { print "$key\n"; } } #### $filename1 = shift; $filename2 = shift; open (IN1, "$filename1"); open (IN2, "$filename2"); %hash1; %hash2; @data1 = ; foreach $line1 (@data1) { # print "$line1\n"; chomp $line1; $line1 =~ /(.*?)\,(.*?)\,(.*?)\,(.*?)\,(.*?)\,(.*)/; $description1 = $1; $cktsizetemp1 = $2; $bits1 = $3; # print "$3\n"; $availability1 = sprintf("%.2f", $4); $bitsin1 = $5; $bitsout1 = $6; $description1 =~ /.*?\-(.*?)\-(S|G|SD|A|AD|FAA|SA).*?([A-Z|0-9][A-Z|0-9][A-Z|0-9][A-Z|0-9])$/; $devicename1 = "$1\-$2"; $cd1 = $3; # print "$devicename1\n"; $hash1{$devicename1} = "$devicename1"; } @data2 = ; foreach $line2 (@data2) { # print "$line2\n"; chomp $line2; $line2 =~ /(.*?)\,(.*)/; # print "$line2\n"; $description2 = $1; # print "$description2\n"; $cpu_util = $2; $description2 =~ /.*?\-(.*?)\-(S|G|SD|A|AD|FAA|SA).*?(.|:)/; # print "$description2\n"; $devicename2 = "$1\-$2"; $cd2 = $3; # print "$devicename2\n"; $hash2{$devicename2} = "$devicename2"; } #####good to here##### foreach $key (keys %hash1) { if (exists $hash2{$key}) { print "$key\n"; } } close IN;