GELÖST: "Bareword not allowed" bei Benutzung von perl-split

Begonnen von OiledAmoeba, 04 Januar 2014, 22:18:30

Vorheriges Thema - Nächstes Thema

OiledAmoeba

Moin,

ich will mir nicht immer meine FHEM-Bezeichnung senden lassen, wenn ein FHT etwas meldet.
Bei mir sind die FHTs durchweg so benannt:
fht.Bad
fht.Kueche
usw...

Also dachte ich, ich nehme split und trenne die Daten am Punkt. Aber Pustekuchen.

Im Notify gibt diese Zeile:
my ($dummy,$device) = split(".", $NAME);

den Fehler "Bareword fht not allowed" und "Bareword Kueche not allowed"

Zeigt mir schonmal, dass das split an sich funktioniert.
Aber ich möchte als Ergebnis $dummy = "fht" und $device = "Kueche"

Ich bin mir sicher, dass das um diese Uhrzeit nur ein Gedankenfehler ist, warum es nicht klappt, oder?
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

OiledAmoeba

Oh man...

Der Punkt im Namen der FHTs war der Fehler. Wieso habe ich nicht daran gedacht, dass der Punkt ein reserviertes Zeichen in Perl ist und ich ihn maskieren muss?

Und ein wenig umständlich war ich auch noch. Wozu in $dummy splitten, wenn ALLE FHTs nach dem selben Muster benannt sind (fht.<Name>)?
substr($NAME, 4) schreibt den Namen fein ab dem fünften Zeichen in meine Variable.

Für mich ein Zeichen, in die Falle zu fallen...
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+