Thread mehre dateien in eine kopieren
(15 answers)
Opened by mark05 at 2011-03-21 11:00 2011-03-21T10:00:45 mark05 Da bist Du bei mir genau richtig ;) Ja, es gibt Alternativen, hier ein einfacher Algorithmus: - öffne die neue Datei im binmode (:raw) - schreibe 4 Bytes mit der Anzahl der internen Dateien Code: (dl
)
print $fh pack "N", $anzahl; # schreibt 4 bytes - schreibe die Länge der ersten Datei Code: (dl
)
print $fh pack "N", length $file01; - schreibe dann die bytes der ersten Datei - schreibe 4 bytes mit der Länge der nächsten Datei - schreibe die Bytes usw. - Datei zu Auslesen in umgekehrter Reihenfolge. Wenn gewünscht, zeige ich ein Beispiel ;) Edit: Umgekehrt wird nur pack() zu unpack(). Ansonsten: - Datei zum Lesen öffnen - lese 4 bytes, unpack mit Schablone "N", das ist die Anzahl der internen Dateien. Jetzt kann eine Schleife gelegt werden, Schleifenkörper: - lese 4 bytes, das ist nach unpack "N", $bytes die Länge einer internen Datei - lese aus dem Handle die Anzahl bytes wie vordem ermittelt - nächster Schleifendurchlauf... Dann gibts auch noch das Tar-Modul. --Rolf Last edited: 2011-03-21 20:54:01 +0100 (CET) |