in reply to LWP Post And My Pained Brain

LWP does have a helper function in HTTP::Request::Common that constructs the query string for you.
use HTTP::Request::Common qw(POST); my $request = POST($url, [ siteurl => $incoming{site} ]);
It also handles multipart/form-data POSTs and file uploads.