MudGuard: Use of uninitialized value in concatenation (.) or string at...

Beitrag lesen

Hi

Schön langsam fängt der oben genannte Fehler mich an, etwas zu ärgern. Das Script funktioniert zwar wunderbar, aber ich habe im errorlog immer diese Meldung stehen. Ich schätze ich konnte den Fehler auf folgenden Code eingrenzen :

opendir(DIR,'messages') or die "Cant open postings : $! \nPlease send a mail to $mailadmin to report this error\n";
         while (defined($_ = readdir(DIR)))   {
                  if ($_ =~ /^\d+?.cgi$/)   {
                  my $headdata = '';
   open(FILE,"messages/$_") or die "Cant open $_ : $! \nPlease send a mail to $mailadmin to report this error\n";
                         for (my $i = 0; $i <= 5; $i++)    {   #die ersten 5 Zeilen einlesen

$i soll von 0 bis 5 laufen (laut Schleife).
Also die Werte 0, 1, 2, 3, 4, 5 einnehmen.
Zähl doch mal die Werte.
Ist die Schleife falsch oder der Kommentar?

Abgesehen davon ist das so sehr riskant.
Du prüfst nicht, ob die Zeile überhaupt gelesen werden konnte.
Wenn die Datei also weniger Zeilen enthält als Du einliest, hast Du ein Problem...

Andreas