sowas wie c-fwrite in perl?

dettus

Bicycle User
hilfe!

ich bin mal wieder kurz davor einen screenshot mit einem revolver zu machen. :grumble:
folgendes: ich braeuchte mal das aequivalent fuer dieses c-programm hier in perl:
Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{
  FILE *f;
  int x=0xd00faffe;
  f=fopen("fwritetest.bin","wb");
  fwrite(&x,sizeof(int),1,f);
  fclose(f);
}
die datei sieht dann so aus:
Code:
% od -h fwritetest.bin 
0000000      affe    d00f                                                
0000004
(was richtig ist)

mit perl aber:
Code:
#!/usr/bin/perl

my $val=hex("0xd00faffe");
open(f,">fwritetest.bin");
binmode(f);
syswrite(f,int($val),4);
close(f);
kommt das hier:
Code:
% od -h fwritetest.bin 
0000000      3433     3039
0000004
der schreibt doch tatsaechlich den string in die datei. was mache ich da falsch?
 
Zuletzt bearbeitet:
habs gerade gefunden:
Code:
#!/usr/bin/perl


my $val=hex("0xd00faffe");
open(f,">fwritetest.bin");
binmode(f);
print f pack("L<",$val);
close(f);
 
Zurück
Oben