#!/usr/bin/perl -- ## ## ## ## perltidy -olq -csc -csci=3 -cscl="sub : BEGIN END " -otr -opr -ce -nibc -i=4 -pt=0 "-nsak=*" ## perltidy -olq -csc -csci=10 -cscl="sub : BEGIN END if " -otr -opr -ce -nibc -i=4 -pt=0 "-nsak=*" #!/usr/bin/perl -- use strict; use warnings; use CGI (); use CGI::Carp qw(warningsToBrowser fatalsToBrowser); Main( @ARGV ); exit( 0 ); sub Main { #~ return DebugCGI(); #~ return RootPage(); return ToPsgi(); } ## end sub Main sub ToPsgi { my $sub = CGI::Compile->compile( __FILE__ ); my $app = CGI::Emulate::PSGI->handler( $sub ); return $app; } ## end sub ToPsgi sub RootPage { my $q = CGI->new; print $q->header, RootTemplate( $q ); } ## end sub RootPage sub RootTemplate { my( $q ) = @_; my @keys = $q->param(); print $q->header; print "
"; print $q->h1( 'Some title' ); print "
"; print $q->start_html( -title => 'Some title' ); print $keys[0]; print SomePage(); print $q->end_form; } ## end sub RootTemplate sub SomePage { my $q = shift || CGI->new( {} ); my $ret = join "\n", "
", $q->h3( 'Pick an option.' ), $q->end_form, "
", "
", $q->start_form( -name => 'some_button', -method => 'POST', -enctype => &CGI::URL_ENCODED, ), $q->submit( -name => 'click_me', -value => 'Do something', ), $q->end_form, "
", ; return $ret; } ## end sub SomePage sub DebugCGI { my $cgi = CGI->new; binmode STDOUT, ':encoding(UTF-8)'; $cgi->charset( 'UTF-8' ); print $cgi->header( -charset => 'UTF-8' ); print $cgi->start_html, $cgi->b( rand time, ' ', scalar gmtime ), '', '
', $cgi->Dump, '
', $cgi->escapeHTML( DD( $cgi ) ), '
', CGI->new( \%ENV )->Dump, $cgi->end_html; } ## end sub DebugCGI sub DD { require Data::Dumper; return scalar Data::Dumper->new( \@_ )->Indent( 1 )->Useqq( 1 )->Dump; } ## end sub DD