in reply to Reading WAV files

You're looking for the unpack function, and more specificly, the 's' template character. (Which actualy operates on native-endian values, not specificly little-endian ones. I just noticed that there is no way to specifiy the byteorder using (un)pack for signed values.)

unpack 's*', $data; will convert all of $data into it's meaning, assuming $data contains a bunch of signed 16-bit values.


Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).