in reply to Problems with scripts

What is wrong with the first script? Are you just trying to get rid of that warning? Are you getting any errors? What behavior is not to your liking? Note that an empty string is considered a false value, so you could probably write if ($location eq "") ... like if (!$location) ..., which would also eliminate that warning.

With the second script, have you tried running it by hand? Does it compile OK? If so, examine your web server's error logs. They should contain the error messages describing why your script is failing. Off-hand, I would say this line should be reversed: ($one,$two,$three,$four,$five) = @text I might have re-written that like this, eliminating the need for throw-away variables altogether:

if ($query->param('text1')) { foreach (sort ( $query->param('text1'), $query->param('text2'), $query->param('text3'), $query->param('text4'), $query->param('text5') )) { print "$_\n\n"; } }
You may also be interested in the <<"EOR" construct instead of using multi-line qq strings. Either is OK though.