$xNeTworKx: Logikproblem bei Zuweisung

Beitrag lesen

Hi,
ich möchte dir noch ein anderes Script zeigen, wo aber das gleiche Problem auftritt, aber diesmal habe ich > statt gt usw genommen. Einer, der beiden Dateien, die im Ornder bleibt, ist trotzdem falsch (also ist nicht die letzte und vorletzt , sondern meistens die letzte und irgend eine andere.)

#!/usr/bin/perl -w

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 < $dateizaehler; $i++)  {
     if ($array[$i][1] > $hoechste)  {
     $hoechste = $array[$i][1];
    # $vorletzte_datei = $neueste_datei;
     $neueste_datei = $array[$i][0].$array[$i][1].$array[$i][2];
     }
}
$i = 0;
foreach my $file(@dateiliste)  {
       if ($file ne $neueste_datei)  {
           # if ($file ne $vorletzte_datei)  {
            open(FILE,">$schreibordner/$file") or die "Kann $file nicht in neuen Ordner schreiben : $!\n";
            flock FILE, 2;
            print FILE $array[$i][3];
            close FILE;
            unlink "$leseordner/$file";
  #  }
        }
$i++;
}

$xNeTworKx.