http://qs321.pair.com?node_id=631644

open my $fh, '+>>', $_ or die "Open failed: $!\n"; binmode $fh; seek $fh, (-s $_) - 0xC2, 0 or die "Can't seek: $!"; printf "Found myself at position 0x%x out of 0x%x\n", tell($fh), -s $_ +; print $fh (pack'C[4]', @vertAlign);
Results:
Found myself at position 0xc01501 out of 0xc015c3 Found myself at position 0x3795 out of 0x3857
The four values still get tacked on to the END of the file instead of overwriting in the middle...