Da einige Informationen fehlen (wie viele Dateien in dem Ordner sind, was Du eigentlich sehen willst, welches Perl Du verwendest), ist es schwer was genaues zu sagen.
Aber ein paar allgemeine Hinweise:
- Einzelne Elemente eines Arrays spricht man mit
$array[$index] und *nicht* mit
@array[$index] an
- Du solltest Fehlerbehandlung auch beim
opendir machen
- Warum machst Du innerhalb der ersten for-Schleife das
open( OUTPUT2,...)? Den Filehandle verwendest Du doch sowieso erst später
- Du solltest
use strict und
use warnings verwenden.
- statt
for($i = 0; $i < @array; $i++ ){ my $element = $array[$i] } kannst Du auch
for my $element ( @array ){} schreiben. Dann iterierst Du direkt über die Elemente und musst nicht mit dem Index arbeiten.
- Wenn Du doch den Index noch für etwas anderes verwendest wie in der zweite Schleife kannst Du auch einfach
for my $i ( 0.. $#array ){} verwenden.
Und als kleiner Hinweis wo Dein Fehler liegen könnte: Du gibst für jede Datei das Array aus (da Du die Ausgabe innerhalb der while-Schleife machst)...