in reply to Help me convert this to Perl

Roughly:

use strict; use warnings; use URI::Escape 'uri_escape'; use HTTP::Tiny; use Try::Tiny; my $api_key = 'Your Secret Key'; my $email = 'example@example.com'; my $url = 'https://api.zerobounce.net/v1/validate'; my $params = '?apikey=' . $apikey . '&email=' . $email; my $api_url = uri_escape( $url . $params ); my $ua = HTTP::Tiny->new( timeout => 15 ); # seconds my $response_string; my $api_error; try { my $res = $ua->get( $api_url ); if ( $res->{'success'} ) { $response_string = $res->{'content'}; } else { $api_error = $res->{'status'} . ' ' . $res->{'reason'}; } } catch { # Handles exceptions warn 'Something really bad happened: ' . $_; }; __END__

See HTTP::Tiny.

I'm not sure that you wanted the response content in your response string; if you really want the entire response you can get it with $res->as_string but you'd have to use a different HTTP library (e.g. LWP::Simple).

Hope this helps!


The way forward always starts with a minimal test.