use JSON 'decode_json'; # or JSON::XS , or JSON::Tiny ... sub getToken { my $output = `curl -k -s -XPOST (URL) -dgrant_type=password -dclient_id=(client ID) -dclient_secret=(client secret) -dusername=(username) -dpassword=(password)`; my $decoded_output = decode_json( $output ); die "Couldn't find access token in [[$output]]" unless $decoded_output->{access_token}; return $output->{access_token} }