in reply to Re: Re: Write contents of a file, whilst reading from another file
in thread Write contents of a file, whilst reading from another file
Perl does not stop reading a file at a newline and have to go back out each time it encounters a newline. It reads to a buffer and each readline is taken from that buffer. The disk is not read again until the buffer is exhausted. You are showing one way of changing the buffer size. I used a different method $/ = \65536; Depending on what data munging is going on inbetween each readline and how big the file is can determine if you should use sysreads with a specified buffer as you have shown, or change the input record seperator $/, or use combination of both.
The only reason I clarify here is because I can see some inexperienced monks think that while <FILE> {}; as being inefficient, prematurely optimize, and end up with a headache back here asking for advice.
Cheers - L~R
|
|---|