
#!/usr/bin/perl -T
use strict;
use warnings;
use Encode;
use CGI;
use LWP::Simple;
use XML::Simple;
use HTML::Template;
use URI::Escape;
binmode STDOUT, ":utf8";
my $q = new CGI;
my $key = $q->param('key') || "";
my $wu_ref = yapi_search({type => "unit", key => $key});
my @wu = map {{'String' => $_}} @$wu_ref; # for HTML::Template
my $ws_ref = yapi_search({type => "web", key => $key});
my $template = join("", <DATA>);
my $t = HTML::Template->new(scalarref => \$template,
die_on_bad_params => 0);
$t->param(key => decode('utf-8', $key));
$t->param(results => $ws_ref);
$t->param(webunits => \@wu);
print $q->header(-charset => 'UTF-8'), $t->output();
sub yapi_search {
my ($args_ref) = @_;
my $key = $args_ref->{key};
my $num = $args_ref->{num} || 10;
my $type = $args_ref->{type} || "web";
return [] unless $key;
my $ec = URI::Escape::uri_escape($key);
my %TYPE_TABLE =
("web" => "WebSearchService/V1/webSearch",
"image" => "ImageSearchService/V1/imageSearch",
"video" => "VideoSearchService/V1/videoSearch",
"unit" => "AssistSearchService/V1/webunitSearch");
my $url = "http://search.yahooapis.jp/$TYPE_TABLE{$type}"
."?appid=YahooDemo&query=$ec&results=$num";
my $yahoo_response = get($url);
my $xmlsimple = XML::Simple->new(ForceArray => [ 'Result' ]);
my $yahoo_xml = $xmlsimple->XMLin($yahoo_response);
return $yahoo_xml->{Result};
}
__DATA__
<html lang="ja">
<head>
<title>Assist Search</title>
</head>
<body>
<h1>Assist Search</h1>
<form method="get">
<input type="text" name="key" value="<TMPL_VAR name=key>">
<input type="submit" value="search">
</form>
<TMPL_IF name=webunits>
<form method="get">
<select name="key">
<TMPL_LOOP name=webunits>
<option value="<TMPL_VAR name=String>"><TMPL_VAR name=String>
</TMPL_LOOP>
</select>
<input type="submit" value="search">
</form>
</TMPL_IF>
<h2>Search Results</h2>
<TMPL_LOOP name=results>
<h3><a href="<TMPL_VAR name=Url>"><TMPL_VAR name=Title></a></h3>
<p><TMPL_VAR name=Summary></p>
</TMPL_LOOP>
</body>
</html>

今年も検索会議を実施することになりました。
第四回目になる今回は、検索だけでなく広くウェブの未来を探る、
というテーマで「非」検索会議と題し、
Web 2.0時代のインタラクション・デザインを考える会議を企画しました。

投資したお金分(株の購入価格)をお礼としてもらえるのに
最低何年かかるか
(http://kabu-gakkou.com/benkyou/per.html)
その会社の利益の何年分の価値で取引されているか
(http://www.toro9.com/kinyu/2006/06/post_40.html)
株を買った金額と同じぐらいの利益を得るのに
何年かかるのか?っていう数値がPERと呼ばれたりします。
(http://www.asks.jp/users/hiro/9863.html)



