#!/usr/bin/env perl # This example demonstrates differences between # param, multi_param, and url_param # Neaf avoids relying on context in request. # Instead, different variants of param method exist # just in case someone wants multi-value params use strict; use warnings; use MVC::Neaf; my $tpl = <<'TT';

Multi-value checkbox - [% file %]

[% FOREACH day IN days %] [% day %] [% IF on.$day %](selected)[% END %] add to url
[% END %]
Non-multi value: [% day_single %]
All values: [% day_multi.join(",") %]
Query value: [% day_url %]
TT # Prepare some data... my @days = qw(Mon Tue Wed Thu Fri Sat Sun); get+post '/10/multi' => sub { my $req = shift; # param_multi will return empty lists if some of the given parameters # fail validation my @select = $req->multi_param( day => join "|", @days ); my %on; $on{$_}++ for @select; return { self => $req->path, on => \%on, days => \@days, day_multi => \@select, day_single => $req->param( day => '.*' ), day_url => $req->url_param( day => '.*' ), }; }, default => { -view => 'TT', -template => \$tpl, file => 'example/10 NEAF '.MVC::Neaf->VERSION, }, description => "Multi-value parameters"; neaf->run;