Siechfred: Funktion "deprecated" nach Perl-Update auf Server?

Beitrag lesen

Guten Abend,

baue gerade mal wieder an einem Script. Folgender Schnipsel hat bis zur letzten Bastelstunde (vor etwa 1 Monat) noch funktioniert:

if(!defined @logentries) {
    print LOG "$newaddr|$current_time\n";
  }
  else {
    foreach(@logentries) {
    print "$_\n";
    $_ =~ s/[\n\r]//g;
    ($ip, $time) = split(/|/, $_);
    if ($ip eq $newaddr) {
      flock(LOG,8);
      close(LOG);
      my $msg = "Sie haben vor weniger als $timestamp Minuten bereits Ihr Feedback hinterlassen.";
      error_win($msg);
    }
  }

Jetzt steht folgende Fehlermeldung in error.log:

"defined(@array) is deprecated at feedback.pl line 167.
 (Maybe you should just omit the defined()?)"

und der else-Zweig wird komplett ignoriert. Weiß jemand, was mir diese Fehlermeldung sagen will? Soweit ich bisher rauskriegen konnte, wurde auf dem Server vor kurzem die Perl-Version von 5.6.1 auf 5.8.0 geupdated.

Viele Grüße
Torsten

--
Dieses Posting kommt ohne Garantie auf Vollständigkeit, Richtigkeit und Funktionalität. Geposteter Quelltext ist, soweit nicht anders angegeben, ungetestet.