Well, theoretically the answer to three of your questions is yes, it's possible, if you code it correctly ;-)
Other than that, we'd need to see some example expected output and some of the code your questions are about. Please have a look at I know what I mean. Why don't you? (as well as the usual How do I post a question effectively?).
In general, you can open a binary file for editing via open my $fh, '+<:raw', $filename or die $!;
| [reply] [d/l] |
use File::Slurp;
open ( my $file, '<', "file" );
binmode($file);
my @array = read_file ("pointers");
seek ( $file, 0x67, 0 );
print $file @array[0];
foreach ( my $line(@array){
chomp ( $line );
seek ( $file, 20, 0 );
print ( $file $this );
}
this is the code i have tried. it will write to the file, but not in an expected way. As you know i do most of my work/programs on binary files. so the data being pushed to the array will have to be written back to the file, but as byte characters/hexadecimal characters and in raw format.
so when it puts "29" into the array, i need it to write 29 in the raw file as a byte, and the code above writes it as a character 29 (which is 32 39 in plain text).
The open file is in raw or binary mode, but it writes in text mode from the array. i need to write in binary mode. if you run the script on the files i posted earlier, then you can make a file with this in it:
21
4B
A8
C6
and read that into an array, then try to write from the array to a raw file, it doesnt work, and looks to still write to the raw file in text mode. and if i try to binmode the array, it throws errors as expected.
im am very confused at this point, as i need to write the pointers back to the file but in raw/binary mode. and i am unsure how to do that from an array because it looks as if it writes back to a raw file in text mode. | [reply] [d/l] [select] |
What's in @array? Maybe you need to pack your data before printing them?
| [reply] |