[kansaipm] Re: 固定長レコードの処理
yuu hashimoto
yuhashimoto at hi-ho.ne.jp
Tue May 16 22:50:57 CDT 2000
河合さん wrote.
> > 例えば、128バイトの固定長のレコードをperlで扱うのは、どうす
> >るのでしょうか。
> read FILE, $buf, 128でバッファに読み込んで、
> ($field1,$field2,$field3) = unpack $format, $bufで分割する、
> というような流れになると思います。
> 詳細は、perldoc -f read, perldoc -f unpackでどうぞ。
なるほど、そう言えば、unpack ってのが、ありましたね。(勉強不足を暴露)
C言語のsscanf相当の間数ですね。substrよりこの目的にはよさそうですね。
unpack バイナリ構造体にパックされたデータをリスト値に展開する
substr 部分文字列を取り出す/置換する
「CGI&Perlポケットリファレンス」技術評論社 \1,980
辞書みたいに使っています。気に入っています。
ありがとうございました。
ついでに、本の紹介ですが、「実用Perlプログラミング」オライリー・ジャパン
この本は、perlの内部構造等をもっと知りたい人にお勧めします
その中で、インタプリタであるにも関わらず、perlが高速な理由として、
正規表現による探索/置換や、chop,push,index,rindex,grepなどの
各関数に直接対応した、機械語とほぼ同じOPコードが343も、用意されており、
それに引数をわたすコードを付け加えて、実行するから早い。
というように解釈しました。
More information about the Kansai-pm
mailing list