2021-01-05T11:53:52
hajIm Labor bemühe ich mich, Fehler zu isolieren und Experimente nachvollziehbar zu machen. Das kann ich aber nicht, wenn alles hintereinander angewendet wird und ich die Zeitzonen- und DST-Einstellungen Deines Systems nicht kenne.
Das ist ein Missverständnis. Ich wende
Date::Calc an, um das Sommerzeit Flag zu erhalten.
localtime mit kleinem l nützt mir ja nichts, weil es das selbe Ergebnis liefert aber das Flag nicht hat. Deshalb ist hier nur nochmal zum Nachweis dessen drin. Korrektur siehe unten.
2021-01-05T11:53:52
hajJa, da scheiden sich möglicherweise die Geister. Nach meiner Lesart der alten Artikel (2003!) macht Strawberry Perl es so, wie ich es für richtig halte und der Fehler liegt irgendwo anders.
Ja das ist sicher möglich. Aber tiefer graben übersteigt sicher meine Fähigkeiten.
2021-01-05T11:53:52
hajWenn Du ein System hast, bei dem Du die Systemzeit ändern kannst, dann schreibe ein Programm, das alle halbe Stunde eine Datei mit fortlaufend nummerierten Dateinamen erstellt und lasse das während der Zeitumstellung von Sommerzeit auf Winterzeit laufen - und dann prüfe, was stat Dir für die Liste liefert. Mein Windows-Notebook steht grade woanders (Serenia), ich werde so einen Test machen, wenn die reale Zeitumstellung passiert.
Warum muss ich dafür die Systemzeit änderbar haben? Wie ich diesen Test verstehe ändert er die Zeit nicht sondern schreibt nur Dateien?
2021-01-05T11:53:52
hajSorry, Bianca, das ist
nicht die Doku, die ich verlinkt habe. Du zitierst aus
Date::Calc für
Localtime (großes
L!), ich meine die Perl-Funktion
localtime.
Jetzt sehe ich das Missverständnis!
localtime hat auch ein Flag! Schlag mich aber ganz ehrlich: das habe ich wirklich jetzt in diesem Moment erst entdeckt! ok das macht es nochmal einfacher, weil ich dann dafür das Modul
Date::Calc nicht mehr brauche.
2021-01-05T11:53:52
hajMeines Wissens war letzte System, in dem diese Information nicht verfügbar war, Perl 5.004 auf MS-DOS.
Was meinst du hiermit?
2021-01-05T11:53:52
hajHier kommt mit
rsync eine weitere
Fehlerquelle ins Spiel... ich habe so langsam den Verdacht, dass Du ein rsync-Problem mit Perl-Mitteln "reparieren" willst.
Nein ich nutze nicht das Linux Tool sondern es ist ein rsync im Sinne des Namens. Sync mit Remote Dateien. In diesem Fall mit FTP.
2021-01-05T11:53:52
hajLäuft der Server vielleicht unter Windows und hat seine eigenen DST-Fehler?
Das sind mehrere und das sind gemischt mal Windows und mal Linux. Kommt immer die "richtige" (richtig ist für mich die Uhrzeit, die am Wirkungsort des Scripts ist) Zeit raus.
2021-01-05T11:53:52
hajAber ich finde das eigentlich eine der schönen Eigenschaften dieses Forums, dass hier auch "einfachere" Fragen gestellt und beantwortet werden.
Finde ich auch.
2021-01-05T11:53:52
hajAnsonsten: Wo immer möglich, localtime durch gmtime ersetzen.
Neee lieber nicht. Das hatte ich schon ganz am Anfang ausgeschlossen, weil damit gar nichts mehr passt. Ich verstehe aber, worauf du hinaus willst. Sommerzeit als Fehlerquelle ausschließen durch Ignorieren. Darüber denke ich tatsächlich nach aber ich weiß noch nicht, welche Querschläger das verursacht.
10 print "Hallo"
20 goto 10