use strict; use warnings; use lib qw(. lib); use CGI; use CGI qw/:standard -debug/; print_form(); sub print_form { print header; print start_html("Problem demo"); print "

Problem demo

\n"; print start_form; print "Old: " . param('OldBugText') . "
"; text_field(); print submit('Action', 'Submit'); print "

"; set_old_params(); show_vars(); print end_form; print "
\n"; print end_html; } sub text_field { my $bugtext = "Example Text"; print "

", textarea(-name => 'BugText', -value => $bugtext, -rows => 10, -columns => 40); } sub show_vars { print "

Here are the current settings in this form

"; for my $key (param) { print "$key -> "; my @values = param($key); print join(", ",@values),"
\n"; } } sub set_old_params { for('BugText') { if (defined param($_)) { param(-name => "Old" . $_ , -value => param($_)); } else { param(-name => "Old" . $_ , -value => ''); } } }