File: drill

package info (click to toggle)
maradns 1.2.12.04-1etch2
  • links: PTS
  • area: main
  • in suites: etch
  • size: 6,676 kB
  • ctags: 2,176
  • sloc: ansic: 26,137; sh: 3,657; perl: 703; makefile: 622; python: 593; sql: 106; awk: 11
file content (50 lines) | stat: -rwxr-xr-x 967 bytes parent folder | download | duplicates (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/perl

# Placed in the public domain 2001 by Sam Trenholme.
# Simple drill program for vocabulary learning

$fichero = shift || "example_wordlist";

open(WORDS,"< $fichero") || die;

$total = 0;

while(<WORDS>) {
    chop;
    s/\#.*//; # No comments
    ($type,$espanol,$meaning) = split(/\|/);
    if($type && $espanol && $meaning) {
        $drill{$espanol} = $meaning;
	$total++;
	}
    }

$puntos = 0;
$aprender = "";

foreach $palabra (sort {rand(3) - 1} keys %drill) {
	print $drill{$palabra} . ": ";
	chop($ingles = <STDIN>);
	if($ingles eq $palabra) {
	    print "Muy bien!\n";
	    $puntos++;
	    }
        else {
	    print "La palabra es $palabra\n";
	    $aprender .= $palabra . "\n";
	    }
        }

print "Palabras: $total\n";
print "Correct:  $puntos\n";
print "Por cientos: ";
printf "%2.2f%%\n", ($puntos / $total) * 100;

if($aprender) {
    print "Palabras para aprender:\n$aprender";
    }
else {
    print "Perfecto!\n"; 
    }