in reply to if statement/uninitialized value

On which lines are your warnings? If it is on this line:
if ((-e $info) and ($query =~ /support/))
then either $info or $query are uninitialized

On the other problem:

if ((-e $info) and ($query ne /support/))
is probably not what you would want: $query ne /support/ means:

1. match $_ with /support/ 2. compare the result (which will be true or false) as a string with $query...

You might take a look at

perldoc perlre perldoc perlop (look at the section on m// )
-- Joost downtime n. The period during which a system is error-free and immune from user input.