sysread

perlのsysreadの引数は、ファイルハンドル,データ保持用の変数,読み込むバイト数,オフセットの4つがあるんだけど、
オフセットでマイナスの値を指定すると、読み込む対象の後ろからのオフセット値になるのだと思っていた、、、
どうりで、範囲外だっていうエラーが出てたわけだ。