my %hash1 = ('keyA' => 'valA', 'keyB' => 'valB'); my %hash2 = ('keyA', 'valA', 'keyB', 'valB'); my %hash3 = ('keyA' => 'valA'=> 'keyB' => 'valB'); #### sub mySub { my %args = @_ #... do stuff } # and call it equivalently like mySub ('keyA' => 'valA', 'keyB' => 'valB'); mySub ('keyA', 'valA', 'keyB', 'valB'); #### my $stringA = join ',', %hashA; #additionally, this is valid (to further demonstrate the point): my @arrayA = %hashA;