Ich versuche, die Existenz von Wörtern aus einer Datei in einem Hash zu überprüfen, und wenn ja, den entsprechenden Hash-Schlüssel und Wert anzuzeigen.Perl Array-Inhalt zu Hash-Werten vergleichen
Bisher konnte ich es mit einem Array tun, welche Werte im Skript angegeben sind.
Ich kann einen Weg finden, um Werte zu diesem Array Wörter aus einer externen Datei (hier FILEDEUX
) zu geben. Können Sie mir in die richtige Richtung zeigen?
(Bitte zögern Sie nicht meine Art und Weise zu erklären, mein Problem zu beheben.)
#!/usr/bin/perl
use v5.10;
use strict;
use warnings;
my $hashtable = $ARGV[0];
my $textecompare = $ARGV[1];
open FILE,"<$hashtable" or die "Could not open $hashtable: $!\n";
open FILEDEUX,"<$textecompare" or die "Could not open $textecompare: $!\n";
while (my $line = <FILE>)
{
chomp($line);
my %elements = split(" ",$line);
my @motcherches = qw/blop blup blip blap/;
foreach my $motcherches (@motcherches) {
while ((my $key, my $value) = each (%elements)) {
# Check if element is in hash :
say "$key , $value" if (exists $elements{$motcherches}) ;
}
}
}
close FILE;
close FILEDEUX;
EDIT: Beispiel Eingänge
FILE
(in %elements
Hash umgewandelt)
Zieler player
Chilwell player
Ulloa player
Mahrez player
Ranieri coach
= ================================================= =======================
FILEDEUX
(umgewandelt in motcherches
Array)
One speichern wird schnell gefolgt von einer anderen, und diesmal Zieler hatte etwas schärfer zu sein, um es zu halten. Izaguirre gibt Mahrez einen Vorgeschmack auf seine eigene Medizin, indem er ihn am Ende der linken Flanke schlägt, obwohl der Leicester-Flügelspieler viel zu leicht aufgibt. Claudio Ranieri wird glücklich sein mit dem, was er bisher von seiner Seite gesehen hat.
============================================== ===============================
Erwartete Ausgabe:
Zieler player
Mahrez player
Ranieri coach
'Verwendung warnings' ähnelt' -w' auf shebang Linie. Sie brauchen nur einen von ihnen (und die meisten Leute würden mit den 'Warnungen verwenden 'gehen). –
Verpasst, danke! – Azaghal