open(p){|f| ・・・ }の書式を試してみたんですが、どうも・・・のところで定義した変数がブロック外で使えないのが痛いっすね。

そこだけグローバル変数使ったら動いたけどなんだか格好悪い。

せっかくのRubyなんですが、やっぱりf=open(p);・・・;f.closeで統一することにしますorz