Hallo,
meine Perl-Kenntnisse sind besser geworden, anscheinend aber noch nicht gut genug.
fhem("get WasteCal text all")
liefert (auf CLI)
09.08.14 00:00 Papier
09.08.14 00:00 Bio
11.08.14 00:00 Recycle
18.08.14 00:00 Rest
25.08.14 00:00 Recycle
25.08.14 00:00 Bio
01.09.14 00:00 Rest
08.09.14 00:00 Bio
08.09.14 00:00 Recycle
Die Frage ist nun - wie bekomme ich die Ausgabe zeilenweise in ein Array?
Danke und ciao
walter
my @textarray = split /\n/, fhem("get WasteCal text all");
Danke für die Antwort. Nun habe ich hier ein Problem zu dem ich keine Lösung finde.
WasteCal:all:..+ {
fhem("get WasteCal text all");
}
liefert im Log das erwartete Ergebnis.
2014.08.06 06:28:34.877 3: get WasteCal text all : 09.08.14 00:00 Papier
09.08.14 00:00 Bio
11.08.14 00:00 Recycle
18.08.14 00:00 Rest
25.08.14 00:00 Bio
...
Soll die Ausgabe in das array geschrieben werden
WasteCal:all:..+ {
my @textarray = split /\n/, fhem("get WasteCal text all");
}
steht im Log
2014.08.06 06:33:17.238 3: WasteBoxSchedule return value: No such class WasteCaltextarray at (eval 672) line 2, near "{
my WasteCaltextarray"
syntax error at (eval 672) line 2, near "my WasteCaltextarray ="
Ich weiß nicht was hier der Fehler ist.
ciao walter
Hallo,
nach umfassenden Probieren funktioniert nun folgendes
my @@schedarr = split("\n", fhem("get WasteCal text all"));
Warum muss ich hier das @ doppeln?
Edit: Jetzt muss ich auch noch die % doppeln
my $tomorrow = sprintf("%%02d.%%02d.%%02d", $mday + 1, $mon + 1, $year + 1900);
Muss das wirklich so sein? Ist das nicht vereinfacht worden? (War ja früher mal so)
ciao walter