in reply to Changing data with syswrite ?
If the replacement value needs to vary from one file to the next (and assuming you have a way for a perl script to work that out), it would be easiest to use JavaFan's method: for a given file, slurp it into a single scalar (e.g. $_), apply a regex replacement, and write a new copy of the file.
If your files are actually too big (which these days means more than a gigabyte or two per file), you'll want to use the read and write functions (rather than "sysread" and "syswrite"); that way, you'll be using buffered i/o in all operations. Follow JavaFan's advice (and read the man pages, too) about how and when to use "tell" and "seek"; depending on what's supposed to go into those 10 bytes that you're replacing, you might need to use pack.
|
|---|