Unicodeへの愛憎はともかく、スタンスとしては全部UTF-8でいいよもう、と思っている。そんなわけであまり調べないが、use open ":encoding(cp932)";
とuse encoding "cp932";
の順番で動作が違うのはいかがなものか。Perlのソースを読んだほうが早そうかもかも。
万全を期してuse encodingしてuse openしてuse open ":std"しろってことなんだと思うが。いや、むしろ道中の万感でもってopen関数で毎度指定すべきか。Rubyだとこの辺どうなってたっけ。1.9で色々変わるんだと思ったが把握してない。用途にもよるが、ちょっと使うだけなら素朴なほうが使いやすい気が。1.8が使えなくなるわけじゃないけどさ。
<>で読むと改行付き(区切り文字付き?)で返ってくるのか。じゃあ空文字でjoinしていいか。Rubyのgetsもそういうもんだっけ。ARGF.readとかgets(nil)で一発だけど。
それにしても、舌を噛んだら順調に化膿して突き刺すように痛い。
あそびをせんとや生まれけむでカフェラテ吹いた。
たまらんね。
書き忘れてましたが、改行ごとで区切った配列じゃなくて丸々内容が欲しいなら、$/ を unde してから $var = <> すると丸ごと入ります。File::Slurpというモジュールをインストールしてそれを使っても良いですけど。