Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
eagle
- Beiträge: 2282
- Registriert: 05.11.2002 11:20:53
- Wohnort: Berlin
Beitrag
von eagle » 22.09.2004 11:20:55
Ich will unter Perl eine Datei nicht im Textformat, sondern im Binary Format speichern.
Code: Alles auswählen
#!/usr/bin/perl
open (FILE, ">file.bin") or die "cannot open file.bin\n";
binmode FILE;
my $i = 0x1a;
print FILE $;
close FILE
Leider enthält meine Datei statt des erhofften Inhalts "0x1a" nur "0x32 0x36". Kann mir vielleicht einer auf den richtigen Weg stossen?
eagle
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams
-
Dookie
- Beiträge: 1104
- Registriert: 17.02.2002 20:38:19
- Wohnort: Salzburg
-
Kontaktdaten:
Beitrag
von Dookie » 22.09.2004 13:49:30
Hi eagle,
kenn mich mit perl ja nicht aus, aber müsste es nicht
heissen?
Gruß
Dookie
-
eagle
- Beiträge: 2282
- Registriert: 05.11.2002 11:20:53
- Wohnort: Berlin
Beitrag
von eagle » 22.09.2004 13:57:20
Ja ich habe leider das i beim Schreiben des Postings unterschlagen, es ist im Orginal aber vorhanden.
eagle
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams
-
eagle
- Beiträge: 2282
- Registriert: 05.11.2002 11:20:53
- Wohnort: Berlin
Beitrag
von eagle » 22.09.2004 15:47:26
So die Lösung habe ich mit godsmacker Hilfe gefunden. Das Zauberwort heisst
pack und das Ergebnis sieht danach so aus:
Code: Alles auswählen
#!/usr/bin/perl
open (FILE, "> file.bin") or die "cannot open file.bin\n";
for ( my $i=0; $i < 256; $i++ )
{
print FILE pack("C", $i);
}
close FILE;
Der Wert von $i sollte dabei nicht größer als 255 werden, was in meinem Fall in Ordnung geht.
eagle
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams