![]() |
![]() |
10 Einträge, 1 Seite |
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
#!/usr/bin/perl # # Simple learning Script # by F.Luettgens # ####################################### use strict; use warnings; my $maxtries = '3'; my $dbfile = "learnIT.db"; open(DB, "<$dbfile"); my @db = <DB>; system("clear"); foreach (@db) { my $tries = 0; my @package = split(/.:./, $_); my $question_nr = $package[1]; my $question_question = $package[2]; my $question_answer = $package[3]; QUESTION: print("\#$question_nr $question_question\n"); print("Answer: "); my $answer = <STDIN>; if ($answer eq $question_answer) { print("Thats correct!\n"); } else { $tries++; if ($tries eq $maxtries) { print("Wrong answer!\nThe right one is $question_answer\n"); } else { print("Thats wrong, try again!\n"); goto QUESTION; } } }
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
#!/usr/bin/perl use strict; use warnings; my $maxtries = 3; my $dbfile = "learnIT.db"; open($dbh, "<",$dbfile) or die $!; my @db = <$dbh>; close $dbh; system("clear"); foreach (@db) { my $tries = 0; my (undef,$question_nr,$question_question,$question_answer) = split(/\.:\./, $_); while( 1 ){ print("\#$question_nr $question_question\n"); print("Answer: "); my $answer = <STDIN>; if ($answer eq $question_answer) { print("Thats correct!\n"); last; } else { $tries++; if ($tries eq $maxtries) { print("Wrong answer!\nThe right one is $question_answer\n"); last; } else { print("Thats wrong, try again!\n"); } } } }
renee+2007-08-14 13:46:16--1. mit ner while-Schleife
2. perldoc -f rand
3. muss ich mir erstmal genauer ansehen...
4. ich setz' Dir gleich mal das Passwort zurück und melde mich dann bei Dir...
Gast+2007-08-14 14:09:51--könnt ihr es so einstellen das die zeilen-zahlen ausgeblendet werden können? macht copy&paste einfacher :)
Gast+2007-08-14 14:09:51--
eine frage noch zum pBoard: könnt ihr es so einstellen das die zeilen-zahlen ausgeblendet werden können? macht copy&paste einfacher :)
Gast+2007-08-14 14:09:51--renee+2007-08-14 13:53:17--3) die 3-Arg-Form von open ist sicherer
...
6) Die Punkte in der split RegEx sollten escaped werden.
3. magst du erklären warum?
6. siehe Pt. 3 :)
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
C:\Dokumente und Einstellungen\Renee>perl
my @array = qw( t:t test.:.hallo test.:hallo t:. );
use Data::Dumper;
print Dumper([split /.:./],[split /\.:\./]) for @array;
^D
$VAR1 = [];
$VAR2 = [
't:t'
];
$VAR1 = [
'test',
'hallo'
];
$VAR2 = [
'test',
'hallo'
];
$VAR1 = [
'test',
'allo'
];
$VAR2 = [
'test.:hallo'
];
$VAR1 = [];
$VAR2 = [
't:.'
];
![]() |
![]() |
10 Einträge, 1 Seite |