Perl Fehlermeldungen Scalar value @.. better written as $..

Begonnen von Rampler, 08 Dezember 2015, 18:27:41

Vorheriges Thema - Nächstes Thema

Rampler

Hallo zusammen,
bekomme von meiner 99_myUtils Routine folgende Fehler:
Scalar value @a[1] better written as $a[1] at ./FHEM/99_myUtils.pm line 70.
Scalar value @a[1] better written as $a[1] at ./FHEM/99_myUtils.pm line 70.
Scalar value @a[0] better written as $a[0] at ./FHEM/99_myUtils.pm line 71.

Meine 99_myUtils
sub
Good_Morning($)
{
my ($t) = @_;                                               # Temperatur wird übergeben
my @a = split(/\./,$t);                                     # @a[0] = Integer  @a[1] = Mantisse 
@a[1] = @a[1]+100;
if (@a[0] < 0) { @a[0] = abs(@a[0]);
                   @a[0] = @a[0]+100;
   fhem("set FL.EG.gong.mp3 playTone 24,25,@a[0],29,@a[1],28 ");
      }
else { @a[0] = @a[0]+100;                                # Nummer des MP3 entspricht jetzt dem Integer
           fhem("set FL.EG.gong.mp3 playTone 24,@a[0],29,@a[1],28 ");
}
#log 5, "Integer: @a[0] Mantisse: @a[1]" ;
}


Wenn ich nun @a nach $a ändere funktionierts halt nicht mehr...
Wie kriege ich dann die Fehlermeldung weg ?
Was mache ich denn falsch ...

Gruß Klaus


3 HMUART (2 via ESP8266), 1 DUOFERN, 9 ESP8266, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

justme1968

ganz genau machen was da steht. nicht @a nach $a ändern sondern @a[0] in $a[0] und @a[1] in $a[1].

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Rampler

Hallo Andre,
danke erstmal, genau das habe ich ja bereits gemacht, doch dann bekomme ich nach dem reload diese Meldungen:

Global symbol "@a" requires explicit package name at ./FHEM/99_myUtils.pm line 70

Ich check nur nicht wie er auf "@a" kommt, der String ist definitiv nicht in der myUtils ...
Kann das evtl mit dem Split zusammen hängen ?
gruß Klaus
3 HMUART (2 via ESP8266), 1 DUOFERN, 9 ESP8266, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

Rampler

Man Man....
ganz genau machen was da steht. nicht @a nach $a ändern sondern @a[0] in $a[0] und @a[1] in $a[1].

Klar, jetzt tuts ..
3 HMUART (2 via ESP8266), 1 DUOFERN, 9 ESP8266, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!