Пример загрузки файла в Perl

Этот пример показывает возможность загрузки файла через форму при помощи модуля CGI. Очень просто и красиво.

#!/usr/bin/perl -w

$basedir = "/usr/home/kuku/site";
$donepage = "http://www.lala.ru/~kuku/site";
use CGI; 

$onnum = 1;
while ($onnum != 11) 
{
  my $req = new CGI; 
  my $file = $req->param("FILE$onnum"); 
  if ($file ne "") 
  {
     my $fileName = $file; 
     $fileName =~ s!^.*(|/)!!; 
     $newmain = $fileName;
     open (OUTFILE,">$basedir/$fileName");
     print "$basedir/$fileName";
     while (my $bytesread = read($file, my $buffer, 1024)) 
     { 
         print OUTFILE $buffer; 
     } 
     close (OUTFILE); 
  }
  $onnum++;
}

print "Content-type: text/htmln";
print "Location:$donepagenn";

к нему html’ка:

<form ENCTYPE="multipart/form-data" method=post>
  <p>File 1: <input TYPE="file" NAME="FILE1" size="20"> File 2:
  <input TYPE="file" NAME="FILE2" size="20"> File 3:
  <input TYPE="file" NAME="FILE3" size="20"> File 4:
  <input TYPE="file" NAME="FILE4" size="20"> File 5:
  <input TYPE="file" NAME="FILE5" size="20"> File 6:
  <input TYPE="file" NAME="FILE6" size="20"> File 7:
  <input TYPE="file" NAME="FILE7" size="20"> File 8:
  <input TYPE="file" NAME="FILE8" size="20"> File 9:
  <input TYPE="file" NAME="FILE9" size="20">
  <input TYPE="submit" VALUE="Upload!"> </p>
</form>