作者: Bruce.
日時: 2006/10/20(17:43)
Bruce.です。

どちらかというとTSPerl向きではないかと思うのですが
それはおいといて。

Takeshi Oya writes:

> while (<>) {
>         if (/ユーザ/){
>         print;
>         }
> }
> 
> 
>  Unmatched [ .... とか言われてしまい、何よ?(T-T)となったのですが、2、
> 3日、頭を冷やしたら、以下のような具合で、やっぱ、今の時代も日本語化みた
> いなことが必要なんだろう、と思ったわけです。
> 
> # ー    815Bh
> # [     5Bh
> 


ShiftJISでスクリプトを書かれているわけですね。
であるならその推測は間違っていません。


> C:\>Perl -v
> This is perl, v5.8.4 built for MSWin32-x86-multi-thread
> 
>  もしかして、Jperl とかを使うのですか…???

jperl は 5.0.4 より後は存在していません。
ActivePerlの最新は 5.8.8 まで来ていますが、5.8.4でも以下のようにして
対応できます。

1) とりあえずShiftJISのデータが処理できればよくて、ほかの人の書いた
   モジュールなんて使わないもんね

なら

use encoding 'shiftjis';
#'sjis', 'cp932'でも可。Windowsなら'cp932'が無難かも

という use encoding ... の行を追加してください。
多分これが一番お手軽な回避策ですが、CPANなどにあるモジュールをばりばり
使おうというのなら*やってはいけません*
 
2) Perlを日本語処理で使いこなしたい。便利なモジュールもあるなら使いたい

なら

・スクリプトをutf-8で書く
・入力と出力のコード変換を自分で陽に書く


ということになると思います。

くわしくはまたあとでということでとりあえず。

いじょ。