use strict; use warnings; use Data::Dumper; my %a = (-keys => 'v1', -values => 'v2'); print Dumper(\%a); #### $VAR1 = { '-keys' => 'v1', '-values' => 'v2' }; #### my %a = (-keys , 'v1', -values , 'v2'); #### Not enough arguments for keys at C:\gash.pl line 6, near "keys ," Not enough arguments for values at C:\gash.pl line 7, near "values ," #### my %a = (-xkeys , 'v1', -xvalues , 'v2'); #### $VAR1 = { '-xvalues' => 'v2', '-xkeys' => 'v1' };