in reply to CGI: retaining textarea contents in hidden field

As Eliya already stated, you weren't accurately creating a hidden field.

It's also important to note that if you want to capture the previous value of OldBugText, then you're going to have to save it in a temporary variable since you want to overwrite it each time as well. Something like the following is probably what you're aiming for:

#!/usr/bin/perl -wT use CGI; use CGI::Carp qw(fatalsToBrowser warningsToBrowser); use strict; use warnings; my $q = CGI->new; my $prev = $q->param('OldBugText'); $prev = '' if ! defined $prev; $q->param('OldBugText' => $q->param('BugText')); print $q->header; print $q->start_html("Problem demo"); print "<h1>Problem demo</h1>\n"; print $q->start_form; print $q->hidden(-name => "OldBugText"); print "<p>Previous Value: ", $q->escapeHTML($prev), "</p>"; print "<p>", $q->textarea( -name => 'BugText', -value => "Example Text", -rows => 10, -columns => 40 ), "</p>"; print "<p>", $q->submit('Action', 'Submit'), "</p>"; print $q->end_form; print "<hr>\n"; print $q->end_html; 1; __END__