--------------------------------Linux Guide---------------------------------- by Ingo Blechschmidt (c) 2002 ----------------------------------------------------------------------------- ------------------------- Countdown ------------------------- Son Jun 17 14:06:03 MEST 2001 ------------------------- Countdown Zeit Wie_lange_noch? Regexp Regluar-Expressions =~ ----------------------------------------------------------------------------- Sie wollen wissen, wie lange es noch bis zu Ihrer Feier, Geburtstag, etc. dauert. Dieses Perl-Skript löst diese Aufgabe. ----------------------------------------------------------------------------- --------CODE--------: 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 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # Ingo Blechschmidt # Arberstraße 5 # 86179 Augsburg # E-Mail: iblech@web.de, http://www.way.to/uselinux/ # Tel.: +49 / 821 882955 # # $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/; } --------/CODE-------- Gestartet wird das Skript, nach vorherigem chmod u+x ~/timeto.pl, mit ~/timeto.pl. Das Skript wird beendet mit bzw. . ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- This document is distributed under the terms of the GNU Free Documentation License.