open (FH, ";
foreach $zeile (@zeilen) {
#print "$zeile";
#print $_;
@worte = split("\;", $zeile);
$wort{$worte[0]} = $worte[1];
$worteng{$worte[1]} = $worte[0];
}
foreach $key (keys %wort) {
print "$key $wort{$key}\n";
}
while ($eingabe ne "end") {
print "Eingabe: ";
$eingabe = ;
chomp ($eingabe);
$eingabe = lc($eingabe);
if(exists($wort{$eingabe})) {
print $wort{$eingabe}."\n";
} elsif (exists($worteng{$eingabe})) {
print $worteng{$eingabe}."\n";
}
elsif ($eingabe ne "end") {
print "Wort nicht vorhanden\n";
}
}
==== Variante 2 ====
use strict;
use warnings;
open (FH, ";
my %de2en;
my %en2de;
while (my $line = ) {
my @woerter = split(';', $line);
# print "$woerter[0] $woerter[1] \n";
$de2en{$woerter[0]} = $woerter[1];
# $en2de{$woerter[1]} = $woerter[0];
}
%en2de = reverse %de2en;
close FH;
my $search = $ARGV[0];
if (exists $de2en{$search}) {
printf "Deutsch %s => Englisch %s\n",
$search, $de2en{$search};
} elsif (exists $en2de{$search}) {
printf "Englisch %s => Deutsch %s\n",
$search, $en2de{$search};
} else {
print "%s nicht gefunden\n", $search;
}