use strict; use warnings; open my $FILE2, "<", "file2.txt" or die "Cannot open file2 file: $!"; open my $FILE1, "<", "file1.txt" or die "Cannot open file1 file: $!"; my %hash; while (my $eachline = <$FILE2>) { chomp($eachline); my($key,$value)=split(':',$eachline,2); $hash{$key}=$value; } while (my $line = <$FILE>) { chomp($line) if(exists $hash{$line}) { print $line:$hash{$line} } else{print "$line does not exist in file2"} }