my $query = CGI->new(); my $file = $query->param('file'); my $mimetype = $query->uploadInfo($file)->{'Content-Type'}; my $data; binmode $file if $mimetype !~ /text/; while (read ($file, $data, 1024)) { # do something with data }