#!/usr/bin/perl use strict; use warnings; use List::Util ('shuffle'); my ($vokabeln_file, $loesung_file, $nichtgekonnte_file) = ("Vokabeln.txt", "Loesung.txt", "nichtgekonnte.txt"); open (my $vokabeln_FH, '<', $vokabeln_file) || die "Die Datei $vokabeln_file konnte nicht gefunden werden"; chomp(my @vokabeln_array = <$vokabeln_FH>); close ($vokabeln_FH); my %vokabeln; open (my $loesung_FH, '<', $loesung_file) || die "Die Datei $loesung_file konnte nicht gefunden werden"; chomp($vokabeln{$vokabeln_array[$.-1]} = $_) while (<$loesung_FH>); close ($loesung_FH); open(my $schreib_FH, ">>", $nichtgekonnte_file); for my $aufgabe (shuffle @vokabeln_array) { print "Translate the word $aufgabe\n"; chomp(my $eingabe = ); if ($eingabe eq $vokabeln{$aufgabe}) { print "The translation is correct!\n"; } else { print "The translation is incorrect\n"; print "Do you want to save the incorrect word and answer?\n"; print "(1)Yes (2)No\n"; chomp(my $antwort=); if ($antwort eq '1') { print $schreib_FH "Wrong: \"$eingabe\" for \"$aufgabe\" (correct is: \"$vokabeln{$aufgabe}\")\n"; } } } close($schreib_FH);