perl - until (Kondition) greift nicht

Begonnen von wkarl, 07 Januar 2013, 21:03:58

Vorheriges Thema - Nächstes Thema

wkarl

Hallo,

ich habe das perl vom fhem für die FB7270 auf einen USB Stick an der FB kopiert und die Umgebungsvariablen entsprechend gesetzt. perl funktioniert auch soweit ich dies als Anfänger beurteilen kann.
Jetzt möchte ich nach einem bestimmten lan device suchen.
Mit folgendem script:
Zitat#!/var/media/ftp/CHIPSBNK-v2-0-33-01/perl/perl -w

use warnings;
use strict;

my $ldnr = -1;
my $ldname = "";
my $ldsearch = $ARGV[0];
my $ldstatus = 0;

do {
        $ldnr++;
        $ldname = `/usr/bin/ctlmgr_ctl r landevice settings/landevice\"$ldnr\"/name`;
} until ($ldname eq "er" || $ldname eq "-1" || $ldname eq $ldsearch)
Jedoch kommt die greifen die Abgruchkriterien von until nicht.
Wer kann mir helfen?

Danke und ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

wkarl

Hallo,

hab die Lösung gefunden:
der Aufruf
Zitat$ldname = `/usr/bin/ctlmgr_ctl r landevice settings/landevice\"$ldnr\"/name`;
liefer als $ldname einen string mit \n am Ende. Mit chomp ($ldname) wird dies entfernt und until() funktioniert wie es soll.

ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen