sub yoursub { my %args = @_; my ($rangearrayref, $firstre, $secondre, $subref) = ($args{-range}, $args{-firstre}, $args{-secondre}, $args{-transformsub}); ... } yoursub(-range => [2..7], -firstre=>'NETPACKET', -secondre=>'Network', ->transformsub=>\&transformNetpacketSub);