sub my_sub { my %q = ( title => 'Untitled', author => 'Anonymous', values => [1,1,1,1,1], values2 => { key1 => 'value1', key2 => 'value2' }, @_ ); print "$q{title} (by $q{author}):\n", "\t- ", join(', ', @{$q{values}}), "\n", "\t- ", join(', ', values %{$q{values2}}), "\n"; } my_sub( title => 'My Title', values2 => { key1 => 'yippee!', key2 => 'booooo!' } );