use Data::HAL qw(); use Data::HAL::Link qw(); { my $hal = Data::HAL->from_json($json_str); my $resource_member_data_href = $hal->resource; my $links_aref = $hal->links; my $embedded_resources_aref = $hal->embedded; } { my $hal = Data::HAL->new( resource => {foo => 23, bar => 42}, links => [Data::HAL::Link->new(relation => 'self', href => '/')], ); my $json_str = $hal->as_json; # { # "_links" : { # "self" : { # "href" : "/" # } # }, # "bar" : 42, # "foo" : 23 # } my @headers = $hal->http_headers; # ( # 'Content-Type' => 'application/hal+json', # 'Link' => ';rel="self"' # ) }