#!/usr/local/bin/perl -T use strict; use warnings; use Encode; use CGI; use LWP::Simple; use XML::Simple; use HTML::Template; use URI::Escape; use utf8; binmode STDOUT, ":utf8"; my $q = new CGI; my $sentence = $q->param('sentence') || ""; my $r_ref = yapi({sentence =>$sentence}) || []; my $newstr = decode('utf-8', $sentence); foreach my $r (reverse @$r_ref) { substr($newstr, $r->{StartPos} + $r->{Length}, 0) = ""; substr($newstr, $r->{StartPos}, 0) = qq(); } my $template = join("", ); my $t = HTML::Template->new(scalarref => \$template, die_on_bad_params => 0); $t->param(sentence => decode('utf-8', $sentence)); $t->param(result => $newstr); print $q->header(-charset => 'UTF-8'), $t->output(); sub yapi { my ($args_ref) = @_; my $sentence = $args_ref->{sentence}; return [] unless $sentence; my $ec = URI::Escape::uri_escape($sentence); my $url = "https://jlp.yahooapis.jp/KouseiService/V1/kousei?" ."appid=THISISAPEN&sentence=$ec"; my $response = get($url); my $xmlsimple = XML::Simple->new(ForceArray => [ 'Result' ]); my $xml = $xmlsimple->XMLin($response); #use Data::Dumper; print Dumper($xml); return $xml->{Result}; } __DATA__ Y!API Kousei Demo

Y!API Kousei Demo



Yahoo!デベロッパーネットワーク - テキスト解析 - 校正支援