Hallo,
ich versuche innerhalb von userReadings eigene Variable zu definieren und dann damit weiterzurechnen.
Jedoch bekomme ich keinen Zahlenwert sondern nur ein HASH(xxx) zurück.
Mein userReadings sieht wie folgt aus:
Z_myreading1 {strftime("%d",localtime)},
Z_myreading2 { my$Testvar = {strftime("%d",localtime)}; $Testvar},
Als Ergebnis bekomme ich für:
Z_myreading1 04
Z_myreading2 HASH(0x8ac37f8)
Wenn ich also über die Variable gehe bekomme ich keinen "lesbaren" Wert.
Wo habe ich den Fehler?
Die geschweiften Klammern sehen mir nicht richtig aus.
Probier doch mal ohne.
Z_myreading2 { my$Testvar = strftime("%d",localtime); $Testvar}
Gruß
Dan
Zitat von: DeeSPe am 04 November 2021, 09:12:08
Die geschweiften Klammern sehen mir nicht richtig aus.
Probier doch mal ohne.
Z_myreading2 { my$Testvar = strftime("%d",localtime); $Testvar}
Gruß
Dan
Muss nicht zwischen my und $Testvar ein Leerzeichen?
Gruß, Joachim
Zitat von: DeeSPe am 04 November 2021, 09:12:08
Die geschweiften Klammern sehen mir nicht richtig aus.
Probier doch mal ohne.
Z_myreading2 { my$Testvar = strftime("%d",localtime); $Testvar}
Gruß
Dan
Danke für die schnelle Antwort. Das war der Fehler.
Nun bekomme ich das Ergebnis was ich möchte.
Beide Varianten my$Testvar als auch my $Testvar führen dann zum gleichen korrekten Ergebnis.
CO² Einsparung :)
Z_myreading2 { strftime("%d",localtime) }
Ohne Formatierung geht auch:
Z_myreading2 { $mday }
Zitat von: Otto123 am 04 November 2021, 10:20:49
CO² Einsparung :)
Z_myreading2 { strftime("%d",localtime) }
Ohne Formatierung geht auch:
Z_myreading2 { $mday }
Habe ich gerade getestet und bekomme folgende Fehlermeldung:
Error evaluating RO_Test userReading Z_myreading2: Global symbol "$mday" requires explicit package name (did you forget to declare "my $mday"?) at (eval 131507) line 1.
Ok kann sein...
Zur Erklärung Auszug aus der commandref:
ZitatUm die Verwendung von Datum und Zeitangaben zu vereinfachen, wurden die Variablen $sec, $min, $hour, $mday, $month, $year, $wday, $yday, $isdst und $hms für die Verwendung in PERL-"oneliners" eingeführt (s. unter perldoc -f localtime). Ausnahmen: $month hat einen Wertebereich von 1 bis 12 und $year ist korrigiert von 1900. Weiterhin enthält $hms die Zeit in dem HH:MM:SS Format und $today das aktuellen Datum in YYYY-MM-DD Format.
Die Variabe $we hat den Wert 1 wenn der abgefragte Tag auf ein Wochenende fällt (Z.B. $wday == 0 [Sonntag] oder $wday == 6 [Samstag]), und 0 für die anderen Wochentage. Wenn man das global holiday2we Attribut setzt, dann ist $we ebenfalls 1 bei Urlaubstagen.
Kann aber sein es funktioniert nicht in allen Modulen oder nicht in userReadings ::) hab es nur in der Kommandozeile probiert
Dann sorry...