Perinci-Sub-GetArgs-WebForm
view release on metacpan or search on metacpan
lib/Perinci/Sub/GetArgs/WebForm.pm view on Meta::CPAN
# for performance
args_as => 'array',
result_naked => 1,
};
sub get_args_from_webform {
my $form = shift;
my $args = {};
for (keys %$form) {
if (m!/!) {
my @p = split m!/!, $_;
next if @p > 10; # hardcode limit
my $a0 = $args;
for my $i (0..@p-2) {
$a0->{$p[$i]} //= {};
$a0 = $a0->{$p[$i]};
}
$a0->{$p[-1]} = $form->{$_};
} else {
$args->{$_} = $form->{$_};
}
( run in 0.917 second using v1.01-cache-2.11-cpan-71847e10f99 )