Are you using use strict and use warnings? These are helpful in alerting you to undefined functions, variables etc.
param() only returns those variables that were sent via POST; so make sure you don't use GET in your HTML form (recognizable by URLs like http://server/myscript.cgi?q=CGI+programming) or use url_param()
Look for a way to dump the names of all variables that were posted by the browser (does param() do that? I don't know, I don't use CGI.pm) -- maybe you just misspelt the name in the HTML file.
Your use of $newtext is not really necessary -- why not just print FILE "$webpage1\n"; and use $webpage1 in the print statement later
param() does indeed return parameters from POST and GET. Since you don't use CGI.pm, please at least check the documentation if you're going to give advice about it.