#!/usr/bin/perl ########################################### # maxauthors keyword # Mike Schilli , 2003 ########################################### use strict; use warnings; use Net::Amazon; use Net::Amazon::Property; use Net::Amazon::Request::Keyword; die "usage: $0 keyword" unless defined $ARGV[0]; my $ua = Net::Amazon->new( token => 'YOUR_AMZN_TOKEN', max_pages => 20, ); my $req = Net::Amazon::Request::Keyword->new( keyword => $ARGV[0], mode => "books" ); # Response: Net::Amazon::Keyword::Response my $resp = $ua->request($req); my @books = sort { saved($b) <=> saved($a) } grep { $_->Catalog eq "Book" && $_->title =~ /$ARGV[0]/i } $resp->properties; for(0..4) { printf "%.2f%% (%s/%s) %s\n\n", saved($books[$_]), $books[$_]->ListPrice, $books[$_]->OurPrice, $books[$_]->as_string; } ########################################### sub saved { ########################################### my($book) = @_; my $list = $book->ListPrice; my $our = $book->OurPrice; $list =~ s/\$//; $our =~ s/\$//; return ($list - $our)/$list*100; }