use 5.010; use HTTP::Tiny; use JSONY v0.0.3 qw(decode_jsony); my $in_currency = 'GBP'; my $out_currency = 'USD'; # Construct URL from currency codes my $url = sprintf( 'http://www.google.com/ig/calculator?hl=en&q=1%s=?%s', $in_currency, $out_currency, ); # Fetch URL and deal with HTTP errors my $results = HTTP::Tiny->new->get($url); die $results->{reason} unless $results->{success}; # Decode cruddy broken JSON and deal with decoding errors my $data = decode_jsony($results->{content}); die $data->{error} if $data->{error}; # Print the result say $data->{rhs};