Thread Variable _ ? (52 answers)
Opened by bianca at 2020-12-25 10:24

bianca
 2021-01-07 09:06
#193087 #193087
User since
2009-09-13
7011 articles
BenutzerIn

user image
2021-01-05T11:53:52 haj
Im 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 CPAN: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 haj
Ja, 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 haj
Wenn 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 haj
Sorry, Bianca, das ist nicht die Doku, die ich verlinkt habe. Du zitierst aus CPAN: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 CPAN:Date::Calc nicht mehr brauche.

2021-01-05T11:53:52 haj
Meines 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 haj
Hier 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 haj
Lä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 haj
Aber 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 haj
Ansonsten: 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

View full thread Variable _ ?