FHEM Forum

FHEM - Hausautomations-Systeme => Zigbee => Thema gestartet von: Beta-User am 12 April 2022, 14:45:58

Titel: [gefixt] PERL WARNING: Prototype mismatch: sub main::sum (@) vs none at
Beitrag von: Beta-User am 12 April 2022, 14:45:58
Hi justme1968,

magst du das bitte fixen?
Quelle: https://forum.fhem.de/index.php/topic,127216.0.html (https://forum.fhem.de/index.php/topic,127216.0.html)

Perlcritic meint dazu:
ZitatNested named subroutine at line 2148, column 3. Declaring a named sub inside another named sub does not prevent the inner sub from being global.

Eventuell würde sowas funktionieren (kann im Moment nur bestätigen, dass es so fehlerfrei lädt):
  my $sum = sub (@) { my $su = 0; $su += $_ for @_;  return $su };

  my $created = join( '/', @created );
  my $ignored = join( '/', @ignored );
  if( !$force || $sum->(@created) || $sum->(@ignored) ) {

Mal sehen, wann ich ggf. zum testen komme...
Titel: Antw:PERL WARNING: Prototype mismatch: sub main::sum (@) vs none at ./FHEM/30_HUEBrid
Beitrag von: justme1968 am 12 April 2022, 20:21:06
danke. ich denke ich habe es behoben.

habe aberlocal *sum = sub { my $sum = 0; $sum += $_ for @_;  return $sum };verwendet. dann schaut der aufruf der funktion aus wie sonst auch und nicht über eine variablen ref.