Perl Regex und die Frage nach dem ;

Begonnen von CoolTux, 25 April 2021, 11:11:14

Vorheriges Thema - Nächstes Thema

CoolTux

Hallo,

Ich habe i Code von fhem.pl folgenden Eintrag gefunden

=~ m/^$_$/; } split(":", $cl);
Mich wundert ein wenig das erste ;
=~ m/^$_$/;
So wie ich das kenne wäre das ; ein Modifier oder Descriptior für Perl Regex. Aber da kenne ich kein ;
Kann mich da bitte jemand erhellen? Danke



Grüße
Marko
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig


CoolTux

Zitat von: rudolfkoenig am 25 April 2021, 20:27:00
Ueberfluessiger Befehlstrenner?

Überflüssig im Sinne von stört nicht, ist aber auch nicht unbedingt richtig?

Die Zeile steht in der aktuellen fhem.pl in Zeile 2242 und gehört zur AssignIoPort Funktion
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Na richtig ist so 'ne Sache.
In { Log 1, "Hallo"; } kann man das ; auch weglassen, wird aber deswegen nicht "richtiger".

CoolTux

Ah jetzt verstehe ich wie Du auf "Ueberfluessiger Befehlstrenner?" kommst.

Also die ganze Zeile sieht ja so aus

my @fnd = grep { $hash->{TYPE} =~ m/^$_$/; } split(":", $cl);

für mich gibt ein Befehlstrenner da keinen Sinn. Übersehe ich etwas.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

herrmannj

#5
jetzt besser?:

my @fnd = grep {
    $hash->{TYPE} =~ m/^$_$/;
} split(":", $cl);

CoolTux

Zitat von: herrmannj am 26 April 2021, 14:26:33
jetzt besser?:

my @fnd = grep {
    $hash->{TYPE} =~ m/^$_$/;
} split(":", $cl);


Ah ein Licht geht sowas von auf. Ich habe mich da zu sehr ablenken lassen. { } verstehe ich jetzt ganz anders. Danke Euch.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net