プロが教える店舗&オフィスのセキュリティ対策術

windowsで茶筅を使って形態素解析を行いたいのですがエラーが出てうまくいきません。

■プログラム(cha.pl)
#!/usr/bin/perl -w

use Text::ChaSen;
$value = '私はとても学校が嫌い。';
$res = Text::ChaSen::getopt_argv('cha.pl','-j');
$str = Text::ChaSen::sparse_tostr($value);
print "$str";
exit;

■エラー
Can't locate loadable object for module Text::ChaSen in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at cha.pl line 3
Compilation failed in require at cha.pl line 3.
BEGIN failed--compilation aborted at cha.pl line 3.

もし良かったらアドバイスお願いします。

Makefile.plのWriteMakefileには 'LD' => 'c++' を追加しました。

A 回答 (4件)

> libchasen.aはどこで手に入れる事が出来るんですか?



自分でコンパイルして作成することになります。
面倒ならmr_flogmanさんの回答の通り、chasenをパイプを通して直接使う方法でもいいと思います。
    • good
    • 0
この回答へのお礼

ご親切にどうもありがとうございました。
今日は時間がないので後ほど試してみます。

お礼日時:2004/10/05 14:59

> 「libchasen.a」が存在していなかったのでスルーしてしまった



Text::ChaSenはlibchasen.a(茶筅のライブラリ)を呼び出して動くのでこれがないと動きません。
READMEを読めば書いてあります。
    • good
    • 1
この回答へのお礼

そうですか。
libchasen.aはどこで手に入れる事が出来るんですか?
茶筅やPerlのライブラリの中になかったので。

お礼日時:2004/10/05 11:30

ChaSenがどんな結果を返すツールか、知らないため


はずしているかもしれませんが、
ファイルを入力して、なんらかの出力を標準出力に
出力するのであれば、以下の方法が使えます。

#!/usr/bin/perl -w
use strict;
open HDL, "chasen test.txt|" or die "$!";
while (<HDL>) {
print
}
close HDL;
    • good
    • 0
この回答へのお礼

おー、この方法でも出来ました!
どうもありがとうございます。

お礼日時:2004/10/05 11:35

> Can't locate loadable object for module Text::ChaSen



Text::ChaSenが見当たらずロードできないと言っています。
ちゃんとインストールされているかを確認してみましょう。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

Text-ChaSen-1.01.tar.gzを展開してインストールしたのですがその際「libchasen.a」が存在していなかったのでスルーしてしまったのですがそれがまずかったのでしょうか?

一応Perlのsystem関数を使って無理やりChaSenを使う事ができたのでそちらの方向で行こうかとも思ってます。

■ソース
#!/usr/bin/perl -w

system("chasen < test.txt > R");
exit;

これだとtest.txtの中身を解析してRに書き込まれまるようになってます。出来ればファイルに書き込まずに結果を返して欲しかったのですが。

お礼日時:2004/10/04 19:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!