uno = uno due = dos tre = tres quattro = quatro cinque = cinco <\data> uno => tree due => dos tre => tres quattro => cinco cinque => cinco sei => seis <\data2> #### use strict; use warnings; use Data::Dump qw(dump); use Storable; #don't know what this does yet. my %hash; open my $in, '<',"./test_data.txt" or die ("can't open the file:$!\n"); while (<$in>){ chomp; my ($key, $value)= split (/\s*=\s/); $hash{$key}=$value; } close $in; ## open my $in2,'<',"./test_data2.txt" or die ("can't open file : $!\n"); open my $out ,'>' ,"./test_data_out.txt" or die "can't open the file for write:$1\n"; while (<$in2>){ chomp; my ($key,$value) = split (/\s*=\s/); #splits row into 2 col #will check if new key,value matches then print to another file for fun. if exists $hash{$keys}{ dump \$out; } }