$regex= composeRegex($search); ... sub composeRegex { my ($search, $extra)= @_; # you might still un-pack these into local variables for convenience my ($regcase, $wholeword, $startverse, $endverse, $checkdelimit, $delimitchars, $useperl, $query) = @{$search}{qw( case wholeword startverse endverse flexdelimit delimitchars regex comp )}; ... }