Perlでテキスト処理をしたいのですが・・・
はじめて質問します。
私は印刷会社に勤務しているのですが、職務上テキスト処理を行う事が多いので、テキストに強いソフトはないか調べていた所、Perlを見つけ、今勉強中のところです。
初めはActivePerlの5.8.3を使っていたのですが、まだシフトJISに問題があるようで、文字化けをして使い物にならないので、Jperlに最近変えました。
一様Jperlは、文字化けをしないか、総ての文字を調べました。結果は、Perlのような文字化けは無かったですが、まだ、実際に仕事に使えるものなのか、不安です。
==========================
(質問)
(1)Perlにはいろいろ種類があるようなのですが、どれが一番日本語のテキスト処理に向いているのでしょうか?Jperl以外にありましたら、教えてください。
(2)Jperlの今のバージョンより最新バージョンはありますか?教えて下さい。
(3)JperlにもActivePerlのように、文字がおかしくなるようなバグがあるのでしょうか?
==========================
環境はWindous2000 Jperl(5.005_03)
文字はSjis
ご解答お願いしますm(..)m
回答(3件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
(1)5.8以上のバージョンでは、日本語を扱えるようになりました。
質問文の内容での文字化けは、他の回答者も答えられているようなshift_jisに起因するものだと思います。
プログラムの最初に
use encoding 'shiftjis';
とすることで、入力ファイルがシフトJISであることを認識し、内部的にunicodeで処理するようになるので、大丈夫です。
(2)(1)でも述べたように5.8以上で標準的に日本語(ユニコードによるので日本語とは限らない)が扱えるようになったので、今後バージョンアップはされなくなると思います。
この回答へのお礼
返答ありがとうございます!
さっそく試したいと思います。
No.2ベストアンサー10pt
Perl の文字化け現象は、一部の文字がエスケープシーケンス(¥)を使用してしまっており、それを Perl がシステムコードと誤解することで発生します。
よって(3)に関しては「ノー」といえます。
ただし、一般に JPerl と呼ばれているのは日本語に対応した Perl プログラムの総称で、特定のソフトウェアを指す言葉ではありません(違うソフトがそれぞれ個別に JPerl を名乗りあってるからです)。
よって、(2)に関しては明確な返答ができません。
Perl が文章解析に強いと言われているのは、
・初心者の登竜門である文字解析技術の訓練に気軽に使える
・正規表現が気軽に使える
という2点が大きいところです。
よって、言語としてのレベルが高くてよく、なおかつ正規表現をさほど使わないのであれば、C言語とかでもご希望の処理は可能です。
この回答へのお礼
返答ありがとうございます!
正規表現は結構使うので、やっぱりPerlですかね・・。でも、どうにかPerlとうまくやっていけそうな気がしてきました!文字化けも大丈夫そうなので。
ありがとうございました。
No.1ベストアンサー20pt
>>初めはActivePerlの5.8.3を使っていたのですが、
>>まだシフトJISに問題があるようで、
>>文字化けをして使い物にならないので、Jperlに最近変えました。
基本的に、機種依存の文字コードを処理する事は別問題なのでPerlのバグということではありません。
>>(3)JperlにもActivePerlのように、
>>文字がおかしくなるようなバグがあるのでしょうか?
バグではないですが、一部正しく処理できない事はあります。
Jperlは、楽に文字コード処理をしたいと
言うことで出来たPerlですので漢字処理は比較的
うまくやってくれます<ActivePerlは別のJcode.plが必要となったりしますので・・・逆に言うと
追加モジュールを組めば同じ事です
この回答への補足
Aruku-20030515さん
ありがとうございます。
Perlの文字化けはバグではなかったんですね、わかりました(^_^)
>>Jperlも一部正しく処理できない
とありますが、具体的にはどういった事ですか?
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











