neue Features: Perlcode ohne runde Klammern und ohne Semikolon-Dopplung

Begonnen von Damian, 26 Februar 2017, 18:17:34

Vorheriges Thema - Nächstes Thema

Damian

Mit der nachfolgenden Version braucht man nicht mehr runde Klammern angeben, wenn man nur Perlcode ausführen möchte - es reichen jetzt die geschweiften Klammern aus:

Syntax:

DOIF (Bedingung) {Perlcode}

das funktioniert auch bei Befehlssequenzen:

DOIF (Bedingung) {Perlcode1}(FHEM-Code){Perlcode2}

Mischung aus Perl und FHEM wird weiterhin geklammert:

DOIF (Bedingung) ({Perlcode1}, FHEM-Code)

Das Modul ist wie immer voll abwärtskompatibel - alte Syntax funktioniert natürlich weiterhin.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

#1
Mit der Version v0.2 sind zumindest bei DOIF die Zeiten des Verdoppelns von Semikolons vorbei ;)
Im Perlbereich {...} braucht man nun keine Semikolons mehr zu verdoppeln! Damit kann man im DEF-Webeditor seinen Perlcode so programmieren wie man es als Perl-Programmierer gewohnt ist.

Syntax-Beispiel:

define di_test DOIF (["Ereignis"]) {
  my $test1="mydevice1";
  my $test2="mydevice2;
  fhem"set $test1 on";
  fhem"set $test2 off";
}


Mit dieser Version sollte auch der bisherige Perlcode im DOIF funktionieren, da zwei Semikolons ungefiltert Perl nicht schaden sollten.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF