シフトJISの > がマッチしません。

[上に] [前に] [次に]
フシギバナ 2000/03/16(木) 15:19:41
以下のシフトJISの > がマッチしません。

$body =~ s/^(>.*)/<FONT COLOR="#008800">$1<\/FONT>/g;

EUCでなく、シフトJISまま処理したいのですが、裏技ありますか。

フシギバナ 2000/03/16(木) 16:11:24
環境はUNIXで パールは5.004_04です。

Fuji.♪ [E-Mail] [HomePage] 2000/03/16(木) 16:43:26
>をコード化して\x81\x84では駄目ですか?
一応、/\x81\x84/で引っかかってくれるようです。

フシギバナ 2000/03/16(木) 17:42:10
[[解決]]
普通にマッチしました。
\nの処理にバグがあり スカラー変数内が一行になっていた為、マッチしませんでした。

シフトJISの > は、このケースでは問題ないみたいです。
お騒がせしました。

Fuji.♪ [E-Mail] [HomePage] 2000/03/16(木) 18:12:11
EUC環境でEUC以外の文字コードを含むのは問題がないからokとかいう問題ではないと思うのですが。 (^_^;
8184はEUCでの日本語漢字コードの範囲から外れているので、16進コードなどで記述した方がよいかと思います。

びーだま [E-Mail] 2000/03/18(土) 19:34:25
Perl を日本語を扱うコード書くのに、EUC でないといけないと
いうことは、ありません。SJIS のまま処理しても大丈夫です。

ただ、SJIS の処理だと2バイト目がアスキーコードと同じ
になる場合があるのと、特に \ のエスケープの処理の
都合で EUC よりもやや面倒くさいことになるということ
ですね。

この辺は、EUC ならしなくても良いので、比較的楽。という
だけ、EUC だって、単純に2バイトだけで完結しませんから、
3バイトEUC への考慮とかしないとならないし、たとえば、
16進数でマッチ指定したとしても、1文字目の2バイト目と
2文字目の1バイト目にそれが当たってしまう可能性(SJIS
にもありますね。)への配慮など、コード取り扱いのための
苦労はどちらにしても伴います。

SJISを使いたいという要望も、SJISを基本のコードとして
いる環境で開発していたりすると、事情もわからないわけ
ではないですね。 逆に言えば、SJISでの問題を回避する
ことが、苦にならなければ、この場合は、SJIS でコードを
扱った方が楽なわけですから。

と、一応擁護しつつも、処理系は、EUCの方が何かと楽だし、
WEBでみつかるサンプルも多いのでよいんじゃないかな。。と
処理系をEUC、表示系をSJIS とするのもありと思います。

[上に] [前に] [次に]