This could be any number of things, but basically it means that the first part of your
if condition is uninitialized. This could be because the
$q object wasn't created, for example, or it could be that you have parentheses where you should have curly braces. Try this instead:
if ($q->param{'field'} eq "") { # Note that 'field' has curlies now
&printform()
}
else {
&results()
}
While I'm at it, I'm betting that the & isn't really needed (and may have unwanted side effects) here. See
A question of style for more information.
"One word of warning: if you meet a bunch of Perl programmers on the bus or something, don't look them in the eye. They've been known to try to convert the young into Perl monks." - Frank Willison