How can I open a binary file in Perl, change ONLY the first byte, and write it back out?
binaryfiles, perl
Solution
open my $fh, '+<', $file or die "open failed: $!\n";
my $byte;
sysread($fh, $byte, 1) == 1 or die "read failed: $!\n";
seek($fh, 0, 0);
syswrite($fh, $new_byte) == 1 or die "write failed: $!\n";
close $fh or die "close failed: $!\n";
Problem
Very similar to Changing one byte in a file in C, but in Perl instead of C. How can I open a binary file in Perl, change ONLY the first byte, and write it back out?