FHEM Forum

FHEM => Automatisierung => Thema gestartet von: NehCoy am 03 September 2018, 10:44:49

Titel: PERL: Gerätenamen dynamisch "zusammenbauen"
Beitrag von: NehCoy am 03 September 2018, 10:44:49
Hallo!

Ist es möglichen den Gerätenamen in Perl dynamisch "zusammenzubauen"?
Pseudocode:;

sub
Test($)
{
   my $adresse=@_;
   fhem("set KNX_010200##$adresse on");
}


Danke & Grüße
NehCoy
Titel: Antw:PERL: Gerätenamen dynamisch "zusammenbauen"
Beitrag von: rudolfkoenig am 03 September 2018, 10:54:21
Klar.
FHEM erlaubt aber # nicht im Namen.
Bitte weglassen.
Titel: Antw:PERL: Gerätenamen dynamisch "zusammenbauen"
Beitrag von: NehCoy am 03 September 2018, 11:10:41
Hallo!

Vielen Dank für die schnelle Antwort!
Wie? Nur:
sub
Test($)
{
   my $adresse=@_;
   fhem("set KNX_010200$adresse on");
}

?

Muss ich gleich mal daheim testen!

Danke & Grüße
Neh Coy

BTW:
"##" ist der "Glue Operator" bei C
Titel: Antw:PERL: Gerätenamen dynamisch "zusammenbauen"
Beitrag von: rudolfkoenig am 03 September 2018, 13:37:12
Btw:
   my $adresse=@_;
ist vermutlich falsch (ungetestet), weil $adresse damit die Anzahl der Funktionsparameter enthaelt. Richtig ist mAn:
   my ($adresse)=@_;

Titel: Antw:PERL: Gerätenamen dynamisch "zusammenbauen"
Beitrag von: elle am 04 September 2018, 13:21:23
Oder

my $addresse = shift;


Gruss

/elle
Titel: Antw:PERL: Gerätenamen dynamisch "zusammenbauen"
Beitrag von: NehCoy am 06 September 2018, 19:37:38
Zitat von: rudolfkoenig am 03 September 2018, 13:37:12
   my ($adresse)=@_;

Ja, danke! Richtig. Funktioniert!