#!/usr/bin/perl # https://perlmonks.org/?node_id=1224994 use strict; use warnings; use Data::Dumper; my $data = {status=>"ok",'message-type'=>"member",'message-version'=>"1.0.0"}; my $result_hr; unfold_hash($data, $result_hr); print Dumper $result_hr; sub unfold_hash { my ( $raw_hr ) = @_; for my $k ( keys %$raw_hr ) { $_[1]->{$k} = $raw_hr->{$k}; } print "unfold_hash ", $_[1] ? scalar %{$_[1]} : 0, "\n"; }