use Asamasi::RakuAPI; my $ar = Asamasi::RakuAPI->new(affiliate_code => $acode); my $results_ref = $ar->search({key => $key, row => 3}); for (@{$results_ref}) { print $_->{Title}, $_->{Url}, ... } # "Cache::File" も使えます。 use Cache::File; my $cache = Cache::File->new(cache_root => "/var/tmp/cache", default_expires => '48 hours'); my $ar = Asamasi::RakuAPI->new(cache => $cache, affiliate_code => $acode);
#!/usr/bin/perl -T use strict; use warnings; use Cache::File; use HTML::Template; use CGI; use Asamasi::RakuAPI; my $q = CGI->new(); my $key = $q->param('key') || ""; my $acode = $q->param('acode') || "YOUR_AFFILIATE_CODE"; my $cache_root_root = "/var/tmp/cache"; my $cache_rakuapi = Cache::File->new(cache_root => $cache_root_root."/rakuapi", lock_level => Cache::File::LOCK_LOCAL(), default_expires => '48 hours'); my $araku = Asamasi::RakuAPI->new(cache => $cache_rakuapi, affiliate_code => $acode); my $results_ref = $araku->search({key => $key, row => 3}); my $template = join("", <DATA>); my $t = HTML::Template->new(scalarref => \$template, die_on_bad_params => 0); $t->param(results => $results_ref); print $q->header(-charset => 'UTF-8'), $t->output(); __DATA__ <TMPL_LOOP name=results> <div class="araku-item"> <TMPL_IF name=ThumbnailUrl><a href="<TMPL_VAR name=Url>" target="_blank" title="<TMPL_VAR name=Title>"><img class="araku-image" src="<TMPL_VAR name=ThumbnailUrl>" alt="<TMPL_VAR name=Title>"></a></TMPL_IF> <span class="araku-title"><a href="<TMPL_VAR name=Url>" target="_blank" title="<TMPL_VAR name=Title>"><TMPL_VAR name=Title></a></span> <span class="araku-price"><TMPL_VAR name=Price></span> <span class="araku-tax"><TMPL_VAR name=Tax></span> <span class="araku-shop"><a href="<TMPL_VAR name=ShopUrl>" target="_blank" title="<TMPL_VAR name=ShopName>"><TMPL_VAR name=ShopName></a></span> </div> </TMPL_LOOP>