in reply to A trivial CGI.pm problem...

param returns a filehandle for an upload field:
my $upload = param('file'); my $data = do { local $/; <$upload> };
Really no need to try to reopen it from the filename.