my %matches = %+; sub(\%matches); #### DB<18> use Data::Dumper DB<19> sub func { say Dumper \@_} DB<20> 'ABC' =~ /(?\w)(?\w)(?\w)/; func({%+}) $VAR1 = [ { 'a' => 'A', 'b' => 'B', 'c' => 'C' } ]; #### DB<22> sub func { my %matches = @_; say Dumper \%matches} DB<23> 'ABC' =~ /(?\w)(?\w)(?\w)/; func(%+) $VAR1 = { 'a' => 'A', 'b' => 'B', 'c' => 'C' };