Auszug:
open (DAT, ">$fname") || die 'Fehler beim Öffnen der Datei: ',$!;
binmode $file;
binmode DAT;
while(read $file,$data,1024) {
print DAT $data || die 'Fehler beim Schreiben: ',$!;;
}
close DAT || die 'Fehler beim Schließen: ',$!;
was macht das 1024 da ? klingt nach 1MB
steig leider durch den code nich so ganz durch aber ich würd intuitiv aus dem 1024 mal ein 2048 machen und probeiren ob dann 2MB gespeichert werden ;-)
Aus dem SelfHTML Feature-Artikel:
"In der oberen While-Schleife wird die Datei in 1024k-Blöcken eingelesen und in die andere Datei geschrieben. Beide sind im Binär-Modus geöffnet, weil nicht bekannt ist, ob die Daten, die ankommen, Binär- oder Text-Daten sind."
Ich weiß leider nicht, ob das 1024 Kbit oder Kbyte sind, aber eigentlich sollte es keinen Unterschied machen, weil die Schleife ja durchlaufen sollte, bis die Datei eingelesen ist. aber ich werd das mal ausprobieren...