in reply to http upload simulating browser

Read docs for HTTP::Request::Common. You should have something like (untested):
use HTTP::Request::Common; use LWP; my $ua = LWP::UserAgent->new; my $res = $ua->request(POST 'http://server.com/cgi-bin/upload.cgi', Content_Type => 'form-data', Content => [ description => 'a description', filetoupload => ['c:/test.dat'] ]); .... ....
Note that you probably do not need to use CGI if you want to write HTTP client.

--
Ilya Martynov (http://martynov.org/)