renamed module to AnyEvent::HTTPD
[AnyEvent-HTTPD.git] / samples / more_complex_example
blob4d05970a8b2ed2fd0072180e284be4b5102a8ec1
1 #!/opt/perl/bin/perl
2 use AnyEvent;
3 use AnyEvent::HTTPD;
4 use AnyEvent::HTTPD::Appgets;
5 use CGI qw/escapeHTML/;
7 my $cvar = AnyEvent->condvar;
9 my $httpd = AnyEvent::HTTPD->new (port => 9090);
11 my @list = qw/Apples <this> Other things/;
13 $httpd->reg_cb (
14 _ => sub {
15 my ($httpd, $req) = @_;
16 set_request ($req);
18 o "<html><body><h1>Editable list:</h1>";
20 my $new_element;
21 form {
22 entry (\$new_element);
23 o '<input type="submit" value="append"/>'
24 } sub {
25 push @list, $new_element;
28 o "<ul>";
29 for my $cur (sort @list) {
30 my $c = $cur;
31 my $lnk = $req->link ("[delete]", sub { @list = grep { $c ne $_ } @list; });
32 o "<li>".escapeHTML ($c)." ".$lnk."</li>";
34 o "</ul>";
36 o "</body></html>";
38 $req->respond;
42 $cvar->wait;