in reply to Reading WAV files
You can read a fixed number of bytes at a time by setting $/ to a numeric value, like this:
Of course, you can use a larger or smaller number of bytes per read, depending on what you want to do. You could also use the "read" or "sysread" functions, where one of the args given to the function is the number of bytes to read. Or if your wav files aren't that big, just seek past the header and slurp the rest all at once into a scalar by setting $/ to undef.$/ = \8; # read 8 bytes at a time; binmode INPUTFH; # don't forget this on MS-Windows! # (you can use binmode on STDIN, as well, if needed) while (<INPUTFH>) { # $_ now holds 8 bytes of data ... }
|
|---|