my %patterns = { { 'regex' => qr/^\/section\/([\d]{1,8})[\/]?$/, 'function' => 'do__section', 'id_fields' => ['section_id'] } } #### my @fields = @{$$regex_set{'id_fields'}}; unshift @fields, ''; my %args; for ( my $i=1; $i<=$#fields ; $i++ ) { $args{$fields[$i]} = $$i; }