FHEM Forum

FHEM => Automatisierung => Perl für FHEM-User => Thema gestartet von: JWRu am 23 Februar 2026, 12:04:26

Titel: Perl Warning bei myUtils-Funktion
Beitrag von: JWRu am 23 Februar 2026, 12:04:26
Rein interessehalber - warum erhalte ich die Warnung
Global symbol "$replacement" requires explicit package name (did you forget to declare "my $replacement"?) at ./FHEM/99_myUtils.pm line 193.beim Reload von 99_myUtils.pm?

Hier ist die entsprechende Funktion:
sub setStatusUPS($) {
    my ($state) = @_;
    my %replacement = ( OL => 'online', OB =>'on battery', LB => 'low battery', RB => 'replace battery', ONLINE => 'online', ONBATT => 'on battery', LOWBATT => 'low battery', REPLACEBATT => 'replace battery' );
    return $replacement($state)
}

Hab's gefunden - es müssen geschweifte Klammern sein:
return $replacement{$state}