for my $param (@$mandatory) { ... } #### sub sort_params { return map $_->[0], sort { $a->[1] <=> $b->[1] } map [ $_, /(\d+)/ ], @_; } for my $param_key (sort_params keys %$mandatory) { my $param = $mandatory->{$param_key}; ... }