Autor Thema: def Befehl filtern  (Gelesen 328 mal)

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1565
  • und es werden immer mehr...
def Befehl filtern
« am: 31 Januar 2020, 10:50:03 »
Ein herzerfrischendes "Moin" vom hintern Deich vorweg!

Ich habe mal wieder eine Denkblockade und hoffe Ihr könnt mir diese aushebeln.

Der Befehl
{join("\n", grep {$defs{$_}} keys %defs)}liefert mir ganz brav alle Namen der definierten devices.

Wie kann ich diesen Befehl erweitern, so dass nur alle Namen beginnend mit ".*_SmokeDetector" ausgegeben werden_

Danke für die Hilfe...

Gruss
    Sailor
******************************
Man wird immer besser...

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 21897
Antw:def Befehl filtern
« Antwort #1 am: 31 Januar 2020, 11:24:40 »
{join("\n", grep /^.*_SmokeDetector/, keys %defs)}Oder:
{join("\n", devspec2array(".*_SmokeDetector.*"))}Achtung: Letzteres liefert bei leeren Menge ".*_SmokeDetector.*" zurueck.

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1565
  • und es werden immer mehr...
Antw:def Befehl filtern
« Antwort #2 am: 31 Januar 2020, 12:01:06 »
Hallo Rudi

{join("\n", devspec2array(".*_SmokeDetector.*"))}Achtung: Letzteres liefert bei leeren Menge ".*_SmokeDetector.*" zurueck.

devspec2array... Das war es, was mir nicht einfiel!
Danke!

Soll ich mal das Wiki für "list" entsprechend updaten?

Gruss
    Sailor

******************************
Man wird immer besser...

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 21897
Antw:def Befehl filtern
« Antwort #3 am: 31 Januar 2020, 12:04:12 »
Wenn Du meinst, dass es da sinnvoll ist, dann ja.
Ich versuche mich in wiki Angelegenheiten nicht einzumischen.