petz: Zahl vs String (Datum) [nun kommentiert ;)]

Beitrag lesen

Hallo

Hab den Code nun bissrl mehr kommentiert.

#!C:\Program Files\Perl\bin\perl.exe

use strict;

#Beginn Deklarationen
my $Jahr1;
my $Monat1;
my $Monatstag1;
my $Vormonat;
my $History;
#Ende Deklarationen

#Aktueles Datum ermitteln
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
$Monat+=1; #Damit der Monat nicht bei 0 beginnt
$Jahrestag+=1; #Damit der 1.1. nicht der 0te Tag im Jahr ist
$Jahr-=100; #Weil die Perl Zeitrechnung ab 1900 läuft
$Monatstag1 = $Monatstag; #monatstag einstellig
$Jahr1 = $Jahr;    #jahr einstellig
$Monat = $Monat < 10 ? $Monat = "0".$Monat : $Monat; #$Monat, falls einstellig '0' voranstellen
$Jahr = $Jahr < 10 ? $Jahr = "0".$Jahr : $Jahr; #dito
$Monatstag = $Monatstag < 10 ? $Monatstag = "0".$Monatstag : $Monatstag; #dito
$Stunden = $Stunden < 10 ? $Stunden = "0".$Stunden : $Stunden; #dito
$Minuten = $Minuten < 10 ? $Minuten = "0".$Minuten : $Minuten; #dito
$Sekunden = $Sekunden < 10 ? $Sekunden = "0".$Sekunden : $Sekunden; #dito

#Prüfen, ob bereits eine datei besteht
if (-e "G:/datei.html") {
 #Am ersten des Monats, bestehende Auswertung umbenennen und Eintrag in history-File vornehmen
 if ($Monatstag1 == 1) # ist erster Tag des Monats?
{
  if ($Monat1 == 1) # ist Januar?
 {
   $Vormonat = 12; # wenn januar, dann Vormonat Dezember, also 12
   $Jahr -= 1; #wenn januar, vormonat dezember des vorjahres -> jarh -1
  }
  else{
   $Vormonat -= $Monat1; #nicht januar, also vormonat monat -1
   $Vormonat = $Vormonat < 10 ? $Vormonat = "0".$Vormonat : $Vormonat; #falls vormonat einstellig, null voranstellen
  }

rename("G:/datei.html","G:/datei".$Vormonat.$Jahr.".html"); #dateiumbenennen von datei.html nach datei$vormunat$jahr.html, $vormonat stimmt nicht
  open(HISTORY, ">>D:/file.history"); #handler öffenen zum anfügen an textfile
  print(HISTORY "<br><a href="datei".$Vormonat.$Jahr.".html">Statistik ".$Vormonat."/".$Jahr."</a>"); # Link (HTML) schreiben) , hier stimmt $vormonat nicht
  close(HISTORY) #handle schliessen
 }
}

Bio, wäre nett, wenn Du, oder jeder andere interessierte sich den Code nun ansehen könntest.

danke und Grüsse
meister petz