in reply to man HTTP::Request::Common
I had this problem also.
If the server that you are sending a POST or GET require the request to be in a specific format. You have two choices. Go into the scripts you are calling and modify the output or use Net::HTTP (or Net::SSL for encryption).
When you are calling content from HTTP::Request::Common, it inserts it as content=data unless you wrap the content in brackets.
There are some examples at the bottom of the modules along with documentation.
Hope this helps.