#!/usr/bin/env perl use strict; use warnings; use WWW::Curl::Easy; use Data::Dump; my $fetch = sub { my $curl = WWW::Curl::Easy->new(); my ( $header, $body ); $curl->setopt( CURLOPT_URL, shift ); $curl->setopt( CURLOPT_WRITEHEADER, \$header ); $curl->setopt( CURLOPT_WRITEDATA, \$body ); $curl->setopt( CURLOPT_FOLLOWLOCATION, 1 ); $curl->setopt( CURLOPT_TIMEOUT, 10 ); $curl->setopt( CURLOPT_SSL_VERIFYPEER, 1 ); $curl->perform; { header => $header, body => $body, info => $curl->getinfo(CURLINFO_HTTP_CODE), error => $curl->errbuf, }; }; my $result = $fetch->(shift); dd $result; __END__