Is it your server that disallows POST, or is your CGI.pm configured to disallow uploads? If it's the server at issue, you're going to have to either find a different service provider or give up on uploads. GET uses the URI, which isn't going to work out.
It actually doesn't look like you're using CGI.pm. You should be. Whether you're new, or a seasoned pro with Perl, there is almost no good reason to not use CGI.pm, or one of its siblings such as CGI::Simple. But whichever module you use, you may find it necessary to explicitly allow uploads. Of particular interest will be the $CGI::POST_MAX and $CGI::DISABLE_UPLOADS flags.