in reply to HTTPS with Crypt::SSLeay

If you had used warnings or the -w flag, Perl would have warned you that the variables you're trying to put into %parms don't exist. You're referring to undefined global package variables when you should refer to the lexicals you've declared a few lines above.

Try instead:

my %parms = { user_id => $userid, password => $password, qu => $qu, };