Thread Array ist nicht Array?!?: Was ist eigentlich ein Array in Perl? (23 answers)
Opened by highlander at 2006-04-07 17:02

highlander
 2006-04-07 17:02
#64535 #64535
User since
2006-04-07
5 Artikel
BenutzerIn
[default_avatar]
Hallo @all,

das ist mein erster Beitrag in diesem Forum und uberhaupt zum Thema Perl!

Hier ist mein Problem:

Ich wollte eine Datei zeichenweise (byteweise) auslesen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
my @array;

sub readfile($){
open(DATEI, $_[0]);
my @Zeilen = <DATEI>;
close(DATEI);

my $length;
foreach my $zeile (@Zeilen){
$length = length $zeile;
for (my $i=0; $i<$length; $i++){
push(@array, substrg($zeile, $i, 1));
}
}
}



so weit so gut es funktioniert einwandfrei.

Wenn ich aber eine Groesere Datei nehme (z.B. 5MB)
dann wird mein swap-Speicher (500MB) voll :-(

dann habe ich gelesen dass Array in Perl das gleiche sind wie eine verketete Listen ist. Also um ein Array mit 5 Milllionen Zeichen zu erzeugen braucht man mehr als 700 MB Arbeitsspeicher: Ist es wahr?



ich habe das jetzt alles mit strings gelöst
Code: (dl )
my $Zeichen = read(DATEI);



Meine Frage ist: Gibt es ein Modul , der erlaubt echte Array zu erzeugen?


Gruss Vaceslav

View full thread Array ist nicht Array?!?: Was ist eigentlich ein Array in Perl?