in reply to if statement/uninitialized value

Try adding if(defined $info) (and cleaning up the logic flow) like so:
if (defined($info) and (-e $info)) { unless ($query =~ /support/)) { print "<a href\=\"$webdir/cgi-bin/getprods.pl?$prodlisting\">" +; print "Product Listing</a><br><br>"; } open (FILE, $info) or die "Can't open file!"; print while <FILE>; close FILE; }

(Note you can do away with that while loop also like so:
{ local $/ = undef; open (FILE, $info) or die "Can't open file!"; print <FILE>; close FILE; }
See perlvar for an explanation of $/.)

Makeshifts last the longest.