I received the following warning in system log after upgrading to Perl 5.42:
2025.10.29 20:07:56 1: PERL WARNING: Possible precedence problem between ! and string eq at ./FHEM/98_logProxy.pm line 681, <$fh> line 343.
2025.10.29 20:07:56 1: PERL WARNING: Possible precedence problem between ! and string eq at ./FHEM/98_logProxy.pm line 713, <$fh> line 343.
2025.10.29 20:07:56 1: PERL WARNING: Possible precedence problem between ! and string eq at ./FHEM/98_logProxy.pm line 764, <$fh> line 343.
Following patch corrects the syntax (backward compatible):
--- - 2025-10-29 20:22:46.529667377 +0100
+++ /srv/fhem/FHEM/98_logProxy.pm 2025-10-29 20:12:23.730195874 +0100
@@ -678,7 +678,7 @@
my $first;
my $last;
- return ($ret,$min,$max,$last,$first) if( !ref($array) eq "ARRAY" );
+ return ($ret,$min,$max,$last,$first) if( ref($array) ne "ARRAY" );
foreach my $point ( @{$array} ) {
my @t = localtime($point->[0]);
@@ -710,7 +710,7 @@
my $xmin = 999999;
my $xmax = -999999;
- return ($ret,$min,$max,$last) if( !ref($array) eq "ARRAY" );
+ return ($ret,$min,$max,$last) if( ref($array) ne "ARRAY" );
foreach my $point ( @{$array} ) {
my $x = $point->[0];
@@ -761,7 +761,7 @@
my $max = -999999;
my $last;
- return ($ret,$min,$max,$last) if( !ref($array) eq "ARRAY" );
+ return ($ret,$min,$max,$last) if( ref($array) ne "ARRAY" );
foreach my $point ( @{$array} ) {
$ret .= "$point->[0] $point->[1]\n";
See here for more context (same issue):
https://github.com/pps83/curl/commit/9636b7f0a0fe1d0f030afad964ef5e2862f07dc7