Hi there,
I have two binary files equal in size but not in values. I used unpack as follows but the results are weird.
When I use "big" binary files - Both of the outputs shows part of the results:
One binary file starts good - ends bad,
Second binary file goes wrong at the start.
Where do you think may be the week point ?
open(BIN_FILE1, "<bin_files/BINF1.bin") or die("Cannot open file for writing");
open(BIN_FILE2, "<bin_files/BINF2.bin") or die("Cannot open file for writing");
binmode(BIN_FILE1);
binmode(BIN_FILE2);
# N An unsigned long (32-bit) in "network" (big-endian) order.
my @values_tmp1 = unpack("N*", <BIN_FILE1>);
my @values_tmp2 = unpack("N*", <BIN_FILE2>);
close (BIN_FILE1);
close (BIN_FILE2);
my $tmp_bin1 = @values_tmp1;
my $tmp_bin2 = @values_tmp2;
print "\nBIN FILE1 LENGTH: ",$tmp_bin1,"\n";
print "\nBIN FILE2 LENGTH: ",$tmp_bin2,"\n";
The output is:
BIN FILE1 LENGTH: 1203
BIN FILE2 LENGTH: 124
The input files are:
-rw-rw-r-- 1 yodar yodar 9600 2009-12-23 19:59 BINF1.bin
-rw-rw-r-- 1 yodar yodar 9600 2009-12-27 16:38 BINF2.bin
If there is another simple and safe way to gather binary files data to an array I'll be glad to know.
Thanks a lot, Yodar.