in reply to How do I use strict with asub( a = 'b' ) syntax?

Thanks to all the monks who helped with this.

First of all apologies for cutting too much out of the piece of code I quoted. LOG is a function that logs a message, AUTHORISATION and LOTUSPRIPATH are constants provided by the sub MYCONSTANT{ "constvalue" } idiom. I missed out the crucial line

my $ua = new LWP::UserAgent;

My problem in a nutshell is that if I quote the key then the values do not end up getting passed. So when I tried the first solution, adding the brackets, it failed to authorise because the authorisation value did not get passed. Randall's solution worked, because it did not involve quoting the key, and thankyou very much.

I think my problem is I don't understand the syntax of

my $res = $ua->request(POST $url, content_type => 'form-data', content => $query, authorization => "Basic abc", );
I guess POST is a function from HTTP::Request::Common returning the request as a hash, but why it doesn't allow actual quoting of the keys is a mystery. Understanding of this is clearly at a higher level of enlightenment.

Replies are listed 'Best First'.
Re: Re: How do I use strict with asub( a = 'b' ) syntax?
by iakobski (Pilgrim) on Mar 16, 2001 at 15:46 UTC
    Now I have a higher state of enlightenment.

    The only reason it worked before was a fluke. For form-data I would need  content => [ @query ] but I was sending in  content => $query , which requires x-www-form-urlencoded. Luckily for me, content-type is a sum which yields zero, so the header said 0 => form-data and the default content-type was put in.

    Aaah! Said Stork.

    I will be more careful in future and use strict from the start!