sub first_sub { my ($args) = @_; # ... Do stuff here with $args->{FOO} ... $object->method(@{$args}{qw(ARG1 ARG2 ARG3)}); # ... Do more stuff here, this time with $args->{ETC} ... } first_sub( { ARG1 => 0, ARG2 => 1, ARG3 => 2, FOO => 'bar', ETC => 'etc', }, ); #### my @temp = @{$args}{qw(ARG1 ARG2 ARG3)}; #### my @temp; push @temp, $args->{ARG1}; push @temp, $args->{ARG2}; push @temp, $args->{ARG3};