uninitialized value lokalisieren

Begonnen von Navigator, 08 Januar 2016, 01:18:45

Vorheriges Thema - Nächstes Thema

Navigator

Hallo...

ich benutze seit einiger Zeit ein verwaistes Modul für meine Solaranlage. 99_SMAUtils.pm. In letzter Zeit erhalte ich eine Warnung das eine Variable nicht initialisiert ist.  Im Modul selbst werden aus der STDOUT Ausabe eines Skiptes die Readings erzeugt. Die Warnung bezieht sich aber auf die Funktion "ltrim" in den 99_Utils.pm. Leider wird an vielen Stellen im Modul selbst diese Funktion benutzt und ich bekomme den Fehler nur bezogen auf den Rückgabeskalar. Meine Frage, wie kann ich die Stelle an der eine undef-Variable? an ltrim übergeben wird am besten lokaliesieren, weil die ltrim Funktion mit Sicherheit nicht die Fehlerquelle ist.
Ich habe versucht mit "$| = 1;" den Ausgabepuffer zu deakivieren und habe jeden Schleifendurchlauf geloggt, leider funktiniert das nicht und die Warnung tritt nicht an betreffender Stelle auf.
Mir geht es eigentlich gar nicht so sehr um die Meldung ansich, aber ich möchte damit gern ein wenig meinen Bezug zu Perl ausbauen und würde mir leicht verständliche Anworten wünschen, da ich doch noch ziemlich am Anfang stehe.

Gruß aus Sachsen. FHEM auf Cubietruck. Vormals EZControl XS1 User.

betateilchen

stacktrace einschalten, dann siehst Du genau die Aufrufkette.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!