#!perl #!/usr/bin/perl # uncomment if you wanna keep your own log (sucky ISP) # in the same directory as your program #BEGIN { # use CGI::Carp qw[ carpout ]; # carpout(\*LOGGY) if open(LOGGY,'>'.__FILE__.'.log'); #} use CGI::Carp qw[ fatalsToBrowser ]; use CGI 2.7; # use at least version 2.7 of CGI use CGI qw[ -nosticky -no_undef_params ]; $CGI::DISABLE_UPLOADS = 'yes'; $CGI::DISABLE_UPLOADS = 1; use strict; ## you may not have warnings installed, so watchout use warnings; no warnings 'uninitialized'; # not that we'd have any (anymore) my $query = CGI->new; my $message = $query->param("message") || ''; my $method = $query->param("method") || ''; $query->delete_all(); print $query->header, $query->a( { href => $query->url(-absolute=>1) .'?' .$$ .time() .rand() }, $query->url(), ), $query->h1("method: $method"), $query->h1("message: $message"), $query->h1("what you wanna do?"), $query->start_html(), $query->start_form(); if ( $method eq 'encode' ) { $method = 'decode'; $message = join ' ', unpack("C*", "$message"); } elsif ( $method eq 'decode') { $method = 'encode'; $message = pack("C*", split ' ', $message); } else { $method = 'encode'; $message = 'a sample message'; } print $query->radio_group( -name => 'method', -values => [ 'encode', 'decode'], -default => $method, ), $query->hr(), $query->textarea( -name => 'message', -rows => 10, -cols => 80, -value => $message, ), $query->hr(), $query->submit(), $query->end_form(), $query->end_html(); __END__