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; }