package Net::UPCDatabase; our $VERSION = '0.01'; our $DEFAULTURL = 'http://www.upcdatabase.com/rpc'; sub new { my $class = shift; my $self = bless({}, $class); my %arg = @_; $self->{_url} = $arg{url} || $DEFAULTURL; use RPC::XML; use RPC::XML::Client; $self->{_rpcClient} = RPC::XML::Client->new($self->{_url}); return $self; } sub lookup { my $self = shift; my $upc = shift; my $data = $self->{_rpcClient}->send_request('lookupUPC', $upc)->value; my $response = {}; if (ref($data) eq "HASH") { $response = $data; } else { $response->{error} = $data; } return $response; } 1;