use strict; use warnings; use Data::Dumper; my @inputFields = ( q{Requester Email:fredb@big.com}, q{Project Manager Name:Fred Bloggs}, ); my %inputs = map { split m{:} } @inputFields; my $defRef = { requester_email => $inputs{ q{Requester Email} }, requester_name => $inputs{ q{Project Manager Name} }, }; print Data::Dumper->Dumpxs( [ \ @inputFields, \ %inputs, $defRef ], [ qw{*inputFields *inputs defRef} ], );