J'ai donc deux fichiers avec des informations similaires.Comment puis-je comparer deux ensembles de références de hachage à l'aide de Perl?
EXEMPLES
TEST.TXT
1 = 1
2 = 2
3 = 3
test_2.txt
1 = 1
2 = 4
3 = 5
4 = 4
5 = 5
6 = 6
Maintenant, je veux imprimer chaque clé de hachage et les valeurs.
my %hash1;
my $scalar_value1;
my $scalar_value2;
my $file = "/test/test.txt";
open (TEST, "<$file") or die "$!";
while (TEST) {
($scalar_value1, $scalar_value2) = split('=');
$hash1{$scalar_value1}{'value1'} = $scalar_value1;
$hash1{$scalar_value1}{'value2'} = $scalar_value2;
}
close TEST;
foreach my $scalar_value1 (sort keys %hash1) {
print "$hash1{$scalar_value1}{'value1'} | $hash1{$scalar_value1}{'value2'}";
}
my %hash2;
my $scalar_value_1_2;
my $scalar_value_2_2;
my $file_2 = "/test/test2.txt";
open (TEST_2, "<$file_2") or die "$!";
while (TEST_2) {
($scalar_value_1_2, $scalar_value_2_2) = split('=');
$hash1{$scalar_value_1_2}{'value_1_2'} = $scalar_value_1_2;
$hash1{$scalar_value_1_2}{'value_2_2'} = $scalar_value_2_2;
}
close TEST_2;
foreach my $scalar_value_1_2 (sort keys %hash1) {
print "$hash1{$scalar_value_1_2}{'value1_2'} | $hash1{$scalar_value_1_2}{'value1_2'}";
}
Maintenant, comment puis-je comparer les deux hash pour produire une nouvelle valeur en fonction de si oui ou non le premier hachage contenait une clé semblable?
if ($hash1{$scalar_value_1_2}{'value1_2} eq $hash1{$scalar_value1}{'value1'}) {
my $scalar_value_2_2; = $hash1{$scalar_value1}{'value2'};
print "YES MATCH: $scalar_value_2_2\n";
} else {
print "N0 MATCH: $scalar_value_2_2\n";
}
Jetez un oeil à tous les liens "connexes" dans la barre latérale - des algorithmes similaires peuvent être trouvés, dans les quelques liens les plus proches. – Ether