#!/usr/bin/perl -w use strict; use utf8; use CGI; use LWP::Simple; use XML::Simple; my $subid = "0FKHS4T7G9C54Z60PCG2"; my $cgi = CGI->new(); my $asinid = $cgi->param('asinid'); my $associateid = $cgi->param('associateid'); my $imgsize = $cgi->param('imgsize'); if ($imgsize eq '') { $imgsize = 2; } my $small = ''; my $medium = ''; my $large = ''; if ($imgsize == 1) { $small = 'checked'; } elsif ($imgsize == 3) { $large = 'checked'; } else { $medium = 'checked'; } my $output = ''; if ($asinid ne '' && $associateid ne '') { my $responsegroup = "Small,Images,ItemAttributes,Reviews,Tracks,OfferFull"; my $url = "http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&Operation=ItemLookup&Version=2005-03-23"; $url .= "&SubscriptionId=$subid"; $url .= "&ItemId=$asinid"; $url .= "&ResponseGroup=$responsegroup"; $url .= "&AssociateTag=$associateid"; my $content = get($url); my $xmlsimple = XML::Simple->new(); my $response = $xmlsimple->XMLin($content); my $group = $response->{Items}->{Item}->{ItemAttributes}->{ProductGroup}; my $imgwidth; my $img; my $item = $response->{Items}->{Item}; my $atag = "{DetailPageURL}; $atag .= "\">"; if ($imgsize == 2) { $img = $atag . "{MediumImage}->{URL} . "\" border=\"0\">" . ""; $imgwidth = $item->{MediumImage}->{Width}->{content}; } elsif ($imgsize == 3) { $img = $atag . "{LargeImage}->{URL} . "\" border=\"0\">" . ""; $imgwidth = $item->{LargeImage}->{Width}->{content}; } else { $img = $atag . "{SmallImage}->{URL} . "\" border=\"0\">" . ""; $imgwidth = $item->{SmallImage}->{Width}->{content}; } $imgwidth += 10; my $outline = $atag; $outline .= $item->{ItemAttributes}->{Title}; $outline .= "
"; if ($group eq "Book") { if ($item->{ItemAttributes}->{Author}) { my $itemlist = ''; if (ref($item->{ItemAttributes}->{Author}) eq 'ARRAY') { $itemlist = getitemlist(@{$item->{ItemAttributes}->{Author}}); } else { $itemlist = $item->{ItemAttributes}->{Author}; } if ($itemlist ne '') { $outline .= "著者:"; $outline .= $itemlist; $outline .= "
"; } } } if ($group eq "Music") { if ($item->{ItemAttributes}->{Artist}) { my $itemlist = ''; if (ref($item->{ItemAttributes}->{Artist}) eq 'ARRAY') { $itemlist = getitemlist(@{$item->{ItemAttributes}->{Artist}}); } else { $itemlist = $item->{ItemAttributes}->{Artist}; } if ($itemlist ne '') { $outline .= "アーチスト:"; $outline .= $itemlist; $outline .= "
"; } } } if ($group eq "DVD") { if ($item->{ItemAttributes}->{Actor}) { my $itemlist = ''; if (ref($item->{ItemAttributes}->{Actor}) eq 'ARRAY') { $itemlist = getitemlist(@{$item->{ItemAttributes}->{Actor}}); } else { $itemlist = $item->{ItemAttributes}->{Actor}; } if ($itemlist ne '') { $outline .= "出演:"; $outline .= $itemlist; $outline .= "
"; } } elsif ($item->{ItemAttributes}->{Artist}) { my $itemlist = ''; if (ref($item->{ItemAttributes}->{Artist}) eq 'ARRAY') { $itemlist = getitemlist(@{$item->{ItemAttributes}->{Artist}}); } else { $itemlist = $item->{ItemAttributes}->{Artist}; } if ($itemlist ne '') { $outline .= "アーチスト:"; $outline .= $itemlist; $outline .= "
"; } } elsif ($item->{ItemAttributes}->{Creator}) { my @creators = @{$item->{ItemAttributes}->{Creator}}; my $itemlist = ''; foreach my $creator (@creators) { if ($itemlist ne '') { $itemlist .= ','; } $itemlist .= "$creator->{content}"; } if ($itemlist ne '') { $outline .= "制作:"; $outline .= $itemlist; $outline .= "
"; } } } # 最新価格 if ($item->{OfferSummary}->{LowestNewPrice}->{FormattedPrice}) { $outline .= "価格:"; $outline .= $item->{OfferSummary}->{LowestNewPrice}->{FormattedPrice}; $outline .= "
"; } # 製造業者 if ($item->{ItemAttributes}->{Manufacturer}) { $outline .= $item->{ItemAttributes}->{Manufacturer}; $outline .= "
"; } my $linkcode = <<"End_of_Temp";
$img$outline
by AmaLink
End_of_Temp $output = <<"End_of_Temp"; プレビュー:
$linkcode
商品リンク:

End_of_Temp } open(TEMPLATE, "<:utf8", "amalink.htmlt"); local($/) = undef; my $template =