• # Temps de jeu total

    Posté par . En réponse à la dépêche Dungeon Crawl Stone Soup 0.13 est sorti!. Évalué à 7.

    Voilà un script perl pour compter la somme des durées des parties afin de mesurer le temps perdu ;-)

    #!/bin/perl
    use strict;
    use warnings;
    use POSIX;
    my $hours = 0;
    my $minutes = 0;
    my $seconds = 0;
    my $directory = "$ENV{'HOME'}/.crawl/morgue";
    opendir(DIR, $directory) or die "Error: Cannot read $directory";
    while (my $file = readdir(DIR)) {
     next unless ($file =~ /^morgue.*\.txt$/);
     if (open(FILE, "$directory/$file")) {
     while (<FILE>) {
     next unless ($_ =~ /The game lasted (\d\d):(\d\d):(\d\d)/);
     $hours += 1ドル;
     $minutes += 2ドル;
     $seconds += 3ドル;
     last;
     }
     } else {
     print("Warning: Cannot read $file\n");
     }
    }
    closedir(DIR);
    if ($seconds >= 60) {
     $minutes += POSIX::floor($seconds / 60);
     $seconds = $seconds % 60;
    }
    if ($minutes >= 60) {
     $hours += POSIX::floor($minutes / 60);
     $minutes = $minutes % 60;
    }
    print "The game lasted $hours:$minutes:$seconds. Get a life, dude.\n"

    P.S. : C'est mon premier script perl \o/