#!/usr/bin/perl -w use strict; use XML::Simple; use Data::Dumper; use LWP::UserAgent; my $europe=""; my $partnerid="webservices-20"; #print $ARGV[0], "\n"; print Dumper(getAmazonData("1880418622", "Medium")); sub getAmazonData { my $asin = shift; my $imgsize = shift; $imgsize = "ImageUrl".$imgsize; my $ua = LWP::UserAgent->new( keep_alive => 1, timeout => 20, agent => 'rmcc\'s MTWAIR Plugin' ); my $host = $europe ? "xml-eu.amazon.com" : "xml.amazon.com"; my $url="http://$host/onca/xml3?t=$partnerid&dev-t=D1NAK9R26OAS2&AsinSearch=$asin&type=heavy&f=xml$europe"; my $response = $ua->get($url); die "Error fetching data" unless ($response->is_success); my $xmldata = $response->content; my $book=XMLin($xmldata); my %result; $result{name} = $book->{Details}->{ProductName}; $result{author} = $book->{Details}->{Authors} ? $book->{Details}->{Authors}->{Author} : $book->{Details}->{Artists}->{Artist}; $result{image} = $book->{Details}->{$imgsize}; $result{amazonurl} = $book->{Details}->{url}; if (ref $result{author} eq 'ARRAY') { $result{author} = join ", ",@{$result{author}}; } return $result{name} ? \%result : undef; }