Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Zitat
#!/usr/local/bin/perl
print "Willkommen bei Qa²!\n";
print "Question and Answer lädt Fragen und Antworten aus einer Wordlist und fragt diese ab!\n";
print "by Hosenwelt Entertainment www.hosenwelt.com\n";
print "SUPPORT OPEN SOURCE!\n";
print "\nWelche Wordlist öffnen?\n";
$wl=<STDIN>;
open (INFO, $wl);
$ques=<INFO>;
close(INFO);
@quas=split(/:/,$ques);
%quos=@quas;
print "Keys(1) oder Values(2) abfragen?\n";
$dec=<STDIN>;
chomp $dec;
### jetzt geht das richtig schwere los....
if ($dec == 1) {
foreach $key(keys %quos) {
print $key;
print "\nAntwort?\n";
$answ=<STDIN>;
chomp $answ;
$else=$quos{"$answ"}; # hier hab ich schon "$answ", $answ und '$answ' probiert...
if ($answ eq $else) {
print "Richtig!\n";
} else {
print "Falsch!\n Richtig wäre $else\n";
}
}
} else {
print "working on that...";
}
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Zitat
Original von Hose
Hier, kann mir jemand sagen, warum folgendes PERL Skript meinerseits nicht geht?
Quellcode
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #!/usr/local/bin/perl print "Willkommen bei Qa²!\n"; print "Question and Answer lädt Fragen und Antworten aus einer Wordlist und fragt diese ab!\n"; print "by Hosenwelt Entertainment --> [URL]www.hosenwelt.com\n[/URL]"; print "SUPPORT OPEN SOURCE!\n"; print "\nWelche Wordlist öffnen?\n"; $wl=<STDIN>; open (INFO, $wl); # öffenen eines filedescriptors immer abfangen, falls er fehlschlägt! $ques=<INFO>; # # in $ques befindet sich am ende immer noch ein newline! # also chomp $ques; # close(INFO); @quas=split(/:/,$ques); # #durch das split wird der string an den doppelpunkten geteilt, am letzten zeichen hängt #immer noch das newline, damit kann diese antwort NIE erkannt werden, da die #usereingabe dann ein newline enthalten müsste, also oben wie geschrieben ein chomp #$ques einfügen # %quos=@quas; # das array wird in einen hash geladen, damit entsteht eine referenz # aufgabe => ergebnis # aufgabe ist der key , ergebnis der value, der hash ist also über die aufgaben referenziert # $quos{aufgabe}= ergebnis, das erbegnis ist der inhalt, aufgabe die adresse # print "Keys(1) oder Values(2) abfragen?\n"; $dec=<STDIN>; chomp $dec; ### jetzt geht das richtig schwere los.... if ($dec == 1) { foreach $key(keys %quos) { print $key; print "\nAntwort?\n"; $answ=<STDIN>; chomp $answ; # $else=$quos{"$answ"}; # das bringt alles nichts, denn der hash ist nicht über das ergebnis referenziert # also hier muss stehen $else=$quos{$key} if ($answ eq $else) { print "Richtig!\n"; } else { print "Falsch!\n Richtig wäre $else\n"; } } } else { print "working on that..."; }
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)