#!/usr/bin/perl -wT use CGI; use strict; my $cgi = new CGI; # Use CGI in an OO sense my $header; my $message = ""; if($cgi->param("name")) # Set the cookie if we have a name { # Only take nice characters from the name my ($name) = ( $cgi->param("name") =~ /([\w -]+)/ ); # Create our cookie my $cookie = $cgi->cookie({-name=>"name", -value=>$name}); # Add our cookie to the header $header = $cgi->header({-cookie=>$cookie}); # Some message $message = "Thanks for visiting us $name."; } elsif(my $name = $cgi->cookie("name")) # Read name from cookie (if it exists) { # Greet name $message = "G'day $name. It's nice to see you again"; } $header ||= $cgi->header(); # (first time, or already has cookie) # Output html print $header, "\n", $cgi->start_html(), "\n", $message, "\n", $cgi->start_form(), "\n", "You can add your name here:", "\n", $cgi->textfield({-name=>"name", -value=>"", -override=>1}), "\n", $cgi->submit({-value=>"Greet me!"}), "\n", $cgi->end_form(), "\n", $cgi->br(), "\n", $cgi->start_form(), "\n", $cgi->submit({-value=>"I'm back!"}), "\n", $cgi->end_form(), "\n", $cgi->end_html(), "\n";