use HTTP::Tiny qw(); use JSON::MaybeXS qw(decode_json); use Text::Xslate qw(); my $response = HTTP::Tiny->new->get('https://api.crossref.org/works/10.1177/0974928419874548'); die($response->{status}, $response->{reason}) unless $response->{success}; my $template = Text::Xslate->new; my $abstract = decode_json($response->{content})->{message}{abstract}; STDOUT->binmode(':encoding(UTF-8)'); STDOUT->print($template->render_string(<<'HTML', {abstract => $abstract}));

<: $abstract :>

HTML __END__ …

<jats:p> ‘Jihadism’ (also kno…