/
article2-6.psgi
53 lines (43 loc) · 1 KB
/
article2-6.psgi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/plackup
use strict;
use warnings;
use Plack::Request;
use HTML::Tiny;
my $app = sub {
my $req = Plack::Request->new(shift);
my $name = $req->parameters->{name};
my $age = $req->parameters->{age};
my $gender = $req->parameters->{gender};
my @hobbies = $req->parameters->get_all('hobby');
my $list;
if (@hobbies) {
$list = join ', ', @hobbies;
} else {
$list = 'None';
}
s/</</ for ($name, $age, $gender, $list);
my $h = HTML::Tiny->new;
my $body = $h->html([
$h->head($h->title($name)),
$h->body([
$h->h1("Welcome $name"),
$h->p('Here are your details:'),
$h->table([
$h->tr([
$h->td('Name:'),
$h->td($name),
], [
$h->td('Age:'),
$h->td($age),
], [
$h->td('Gender:'),
$h->td($gender),
], [
$h->td('Hobbies:'),
$h->td($list),
]),
]),
]),
]);
return [ 200, [ 'Content-type' => 'text/html' ], [ $body ] ];
};