# round em up... my $args = { # no need to worry about the order arg1 => $some_variable, arg2 => $some_other_variable, arg3 => $and_yet_another_variable, arg4 => $and_one_more_for, arg5 => $luck, arg6 => some_other_function(), arg7 => $maybe_a_variable or $default, }; # ...and herd em in my $some_return_value = some_function($args); if($some_return_value) { # do some stuff here with some_return_value # and if there are more than a few lines # I'd consider another sub } else { # and don't cuddle your else # report or otherwise handle the error # in another sub :-) } sub some_function { my ($args) = @_; # no need to worry about the order here either }