in reply to populating a textarea

I think what's happening is that CGI.pm is being very helpful and making your data "sticky" - that's to say, if you send back a form field, it automatically goes back with the same value as it had when the form was submitted. In other words, CGI.pm is ignoring you when you say -value=>$testText.

The way I have dealt with this (and this may not be the canonical way) is to create the parameter explicitly before calling the textarea method. In other words, insert this line just before you print the textarea field:
$query->param( -name => 'SPC text', -default => $testText, );
I haven't tested this particular line in the context of your code, but the same thing works in scripts I have written.

§ George Sherston