$xNeTworKx: Fehlermeldung, aber richtige Ausgabe ?

Beitrag lesen

Hallo,

meistens ist der Fehler eine Linie vorher, vielleicht fehlt nur ein semikolon oder es sind nicht alle klammern vorhanden??

nein, aber das komische ist, wenn ich diese Zeile so schreibe :      if ("$array[$i][1]" gt "$hoechste")  { , steht nur mehr Use of uninitialized String at line 34 statt ...in string gt .... da.
Dann wenn ich die obere Zeile zu for (my $i = 0; $i le $dateizaehler; $i++)  {    #(le statt <=), dann kommt zwar keine Fehlermeldung mehr, aber er gibt nur mehr 3 x die Schleife statt 11 mal aus.
Was ist da eigentlich los ?
Ich poste mal das ganze Script bis zu der Stelle :

use strict;
my $leseordner = '.';
my $schreibordner = 'neuer';

my @array;
my $vorletzte_datei = 0;
my $dateizaehler = 0;
my $i = 0;
my $hoechste = 0;
my $neueste_datei = 0;
my @dateiliste;

opendir(DIR,"$leseordner") or die "Kann Leseordner nicht oeffnen : $!\n";
    while (defined(my $file = readdir(DIR)))   {
             if ($file =~ /^(\d+?_)(\d+?)(..{1,5})$/)   {
     push @dateiliste, $file;
     $array[$i][0] = $1;
             $array[$i][1] = $2;
     $array[$i][2] = $3;
          open(FILE,"$leseordner/$file") or die "Kann $file nicht oeffnen : $!\n";
   local $/;
   my $inhalt = <FILE>;
   close FILE;
     $array[$i][3] = $inhalt;
     $i++;
     $dateizaehler++;
             }
    }
closedir DIR;

for (my $i = 0; $i le $dateizaehler; $i++)  {
     if ("$array[$i][1]" gt "$hoechste")  {
     $hoechste = $array[$i][1];
     $neueste_datei = $array[$i][0].$array[$i][1].$array[$i][2];
     }
print "$array[$i][1]\n";
}
print $neueste_datei;