ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

超初心者向けCGI講座コミュのこのソースのおかしいところを教えてください。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
さくらサーバに以下のソースを置きましたが上手く動きません。
文章を入力すると形態素解析されてdirディレクトリ内にファイルを作成して単語を保存するソースです。
ローカル環境では上手くいきました。
↓のURLで不具合を確認できます。
さくらサーバはEUC-JPです。
ソースのおかしい部分を教えていただけますでしょうか。

http://dai-gokuh.sakura.ne.jp/jikkenn/test2.html

#!/usr/local/bin/perl

use strict;
use warnings;
use LWP::UserAgent;
# http://thinkit.co.jp/cert/article/0609/8/1/2.htm
use Encode qw/encode decode/;
use utf8; #utf8を使う
# http://d.hatena.ne.jp/perlcodesample/20091118/1246679588
use CGI;
# http://oshiete.goo.ne.jp/qa/4965702.html
use CGI::Carp qw( fatalsToBrowser);

#print "Content-Type: text/html\n\n";
print "Content-type: text/html;charset=utf-8\n\n";

my $str;
my $i;
my $j;

&main;

sub main{
my $q = new CGI();

$str = $q->param( "words" );
$str = decode('UTF-8', $str);

my $title = encode('UTF-8', "MeCab APIを呼出す");
my $h1 = encode('UTF-8', $str . "の品詞");

print $q->start_html( $title ),
$q->h1( $h1 ),
$q->start_ul;

my $esc = CGI::escape($str);

my $ua = LWP::UserAgent->new;
$ua->agent('PerlSample/0.1');#コメントアウト取った
$ua->timeout(5);

my $response = $ua->get('http://mimitako.net/api/mecapi.cgi?sentence=' . $esc . '&response=surface,feature');

my @res = split(/<word>/, $response->content);

foreach $i (@res){
$i = decode('UTF-8', $i);

my @wc = ("名詞", "動詞", "形容詞", "助動詞", "助詞" , "接頭詞" , "接続詞" , "連体詞" , "記号" );
my @fn = ("N" , "V" , "A" , "MV" , "JOSHI","SETTOUSHI", "SETSUZOKUSHI", "RENTISHI", "KIGOU");

for($j=0; $j<@wc; $j++){
if($i =~ /<surface>(.+)<\/surface><feature>$wc[$j]/){
$str = encode('UTF-8', $1);
my $filename = encode('UTF-8', $fn[$j]);#SHIFT_JIS
open(OUT, ">>./dir/$filename.txt");
print $fn[$j].$str." ";
$str = encode('UTF-8', $1);#SHIFT_JIS
print OUT "$str\n";

close(OUT);
last;
}
}
}
}

コメント(0)

mixiユーザー
ログインしてコメントしよう!

超初心者向けCGI講座 更新情報

超初心者向けCGI講座のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング