in reply to Re: checking values of variables
in thread checking values of variables

print "help\n" unless %params;

That does not do what the OP's if conditional does. The OP want's to execute help() if any one of the vars is empty. Your unless test requires ALL vars to be empty.