This shows you the differences between two versions of the page.
— |
kurs:woerterbuch.pl [2014/09/10 21:22] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <code> | ||
+ | open (FH, "<woerterbuch.txt"); | ||
+ | @zeilen = <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 = <STDIN>; | ||
+ | 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"; | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ==== Variante 2 ==== | ||
+ | <code> | ||
+ | use strict; | ||
+ | use warnings; | ||
+ | |||
+ | open (FH, "<woerterbuch.txt"); | ||
+ | |||
+ | ## my @lines = <FH>; | ||
+ | my %de2en; | ||
+ | my %en2de; | ||
+ | while (my $line = <FH>) { | ||
+ | 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; | ||
+ | } | ||
+ | |||
+ | </code> |