Thread Anfängerfrage Unterstrich (18 answers)
Opened by lern_noch at 2023-01-31 11:42

lern_noch
 2023-02-01 13:43
#194629 #194629
User since
2023-01-30
7 Artikel
BenutzerIn
[default_avatar]
Hallo,
danke für die schnelle und freundliche Antwort.

Das Script ist selbst zusammengebastelt mit minimalsten Perl-Kenntnissen und steht als sub in 99_myUtils in Fhem.

Im "Kopf" der 99_myUtils steht

Code: (dl )
1
2
3
use strict;
use warnings;
use POSIX;


Meine Funktion:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sub 
RelaisKontrolle
{
open(DATEI,"kontrolle.lh");
while (<DATEI>){
my $soll = $_; #liest die nächste Zeile ein
chop($soll); #entfernt den Zeilenumbruch
my $ist = $soll."k"; #Ist - Item ist immer + "k"
my $isoll = ReadingsVal ($soll,"state",""); #Inhalt IST - Reading
my $iist = ReadingsVal ($ist,"state",""); #Inhalt SOLL - Reading
if (ReadingsVal ($isoll,"state","") ne ReadingsVal ($isoll,"state","")) {
fhem("set pushmsg message Fehler $isoll $iist")
} else {
fhem("set pushmsg message Alles ok");
}
}
}



Das Ausblenden des Unterstrichs geschieht bereits in der Zeile

my $soll = $_;

Aus v_21 wird dann v <neue Zeile> 21.

Mit anderen Variablennamen funktioniert es, auch z.B. mit v!21.
Schreibe ich v!21 in die Datei und dann
$soll =~ tr/!/_/; um aus v!21 innerhalb des Scripts v_21 zu machen, geschieht genau das gleiche.

Arbeite ich ohne das Einlesen der Datei und mache einen Durchlauf direkt mit
my $soll = "v_21";
funktioniert alles wie gewünscht.

Ich hoffe das ist verständlich und ausführlich genug.

modedit Editiert von GwenDragon: Code als Code-Block & Inline-Code formatiert
Last edited: 2023-02-01 16:19:42 +0100 (CET)

View full thread Anfängerfrage Unterstrich