Name="Countdown" Stich="Countdown Zeit Wie_lange_noch? Regexp Regluar-Expressions =~" Zeit="Son Jun 17 14:06:03 MEST 2001" Kurz="Sie wollen wissen, wie lange es noch bis zu Ihrer Feier, Geburtstag, etc. dauert. Dieses Perl-Skript löst diese Aufgabe." Lang=" `exCodes timeto.pl` #!/usr/bin/perl # timeto.pl - Zeigt an, wie lange es noch bis zu einem bestimmten Ereignis # dauert # (c) by Ingo Blechschmidt, Son Jun 17 14:07:23 MEST 2001 `cat gpl.lic` `cat add.lic` \$Jetztwert = 0; \$Jetztzeit = ""; @Zeit = (); @Uhrzeit = (); \$qbtimer = 0; \$sektill = 0; \$tillname = ""; while () { \$Jetztwert = time(); \$Jetztzeit = localtime(\$Jetztwert); &Deutschnamen; @Zeit = split(/ +/,\$Jetztzeit); @Uhrzeit = split(/:/,\$Zeit[3]); system("clear"); print "Guten Tag!\n"; print "Heute ist ",\$Zeit[0],", der ",\$Zeit[2],". ",\$Zeit[1]," ",\$Zeit[4],"\n"; print "Es ist jetzt ",\$Uhrzeit[0],":",\$Uhrzeit[1]," Uhr.\n\n"; \$qbtimer = \$Uhrzeit[0] * 3600 + \$Uhrzeit[1] * 60 + \$Uhrzeit[2]; # Für den Ende des Monats: # \$sektill = 86400 * (31 - \$Zeit[2]) + 86400 - \$qbtimer; \$tillname = "Monatsende"; # Die Berechnung der Formel erfolgt so: # \$sektill = 86400 * ((Tag des Monats) - \$Zeit[2]) + (Stunde * # 3600 + Minuten * 60 + Sekunden) - # \$qbtimer; \$tillname = "(Name)" print "Sekunden bis " . \$tillname . ": ", \$sektill, "\n"; print "Minuten bis " . \$tillname . ": ", int(\$sektill / 60), "\n"; print "Stunden bis " . \$tillname . ": ", int(\$sektill/ 3600), "\n"; print "Tage bis " . \$tillname . ": ", int(\$sektill/ 86400), "\n\n"; print "Minuten:Sekunden bis " . \$tillname . ": ", int(\$sektill / 60), ":", int(\$sektill % 60), "\n"; print "Stunden:Minuten:Sekunden bis " . \$tillname . ":", int(\$sektill / 3600), ":", int(\$sektill % 3600 / 60), ":", int(\$sektill % 60), "\n"; print "Tage:Stunden:Minuten:Sekunden bis " . \$tillname . ": ", int(\$sektill / 86400), ":", int(\$sektill % 86400 / 3600), ":", int(\$sektill % 3600 / 60), ":", int(\$sektill % 60), "\n"; while (\$Jetztwert / 1000 == time() / 1000) {} } sub Deutschnamen { \$Jetztzeit =~ s/Mon/Montag/; \$Jetztzeit =~ s/Tue/Dienstag/; \$Jetztzeit =~ s/Wed/Mittwoch/; \$Jetztzeit =~ s/Thu/Donnerstag/; \$Jetztzeit =~ s/Fri/Freitag/; \$Jetztzeit =~ s/Sat/Samstag/; \$Jetztzeit =~ s/Sun/Sonntag/; \$Jetztzeit =~ s/Jan/Januar/; \$Jetztzeit =~ s/Feb/Februar/; \$Jetztzeit =~ s/Mar/Maerz/; \$Jetztzeit =~ s/Apr/April/; \$Jetztzeit =~ s/May/Mai/; \$Jetztzeit =~ s/Jun/Juni/; \$Jetztzeit =~ s/Jul/Juli/; \$Jetztzeit =~ s/Aug/August/; \$Jetztzeit =~ s/Sep/September/; \$Jetztzeit =~ s/Oct/Oktober/; \$Jetztzeit =~ s/Nov/November/; \$Jetztzeit =~ s/Dec/Dezember/; } `exCodee` Gestartet wird das Skript, nach vorherigem$esCodes chmod u+x ~/timeto.pl$esCodee, mit$esCodes ~/timeto.pl$esCodee. Das Skript wird beendet mit <Ctrl-C> bzw. <Ctrl-Pause>. " case $1 in Name) echo $Name; exit;; Stich) echo $Stich; exit;; Zeit) echo $Zeit; exit;; Kurz) echo $Kurz; exit;; Lang) echo $Lang; exit;; esac # if [ "$1" = "Name" ]; then echo $Name; fi mself_vA="txt/0030.txt txt/0052.txt txt/0078.txt"