uno = uno due = dos tre = tres quattro = quatro cinque = cinco #### uno = tree due = dos tre = tres quattro = cinco cinque = cinco sei = seis #### use strict; use warnings; use Data::Dump qw(dump); use Storable; #don't know how to use this to test 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; #it's clear to me now } close $in; #will check against %hash with new keys and values #opening files for read and write 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:$!\n"; while (<$in2>){ chomp; my ($key,$value) = split (/\s*=\s/); #splits row into 2 col if exists $hash{$keys}{ dump $out \%hash; } }