нет, вот скрипт с формой
когда я им закачаю ричунок на сервер, то рисунок становится непросмотримым, почему это происходит ?
Самое главное, чтобы в форме присутствовал параметр enctype="multipart/form-data". Иначе работать не будет. 
Ну и создаем Perl-script: 
Код (perl):
#!/usr/bin/perl -w 
print "Content-type: text/html;\\n\\n"; 
if  ($ENV{\'CONTENT_LENGTH\'}){ 
    $buffer = \'\'; binmode STDIN; 
    read(STDIN, $input, $ENV{\'CONTENT_LENGTH\'}); 
} 
$ENV{\'CONTENT_TYPE\'} =~ /multipart\\/form-data; boundary=(.+)$/; 
$boundary = \'--\'.$1; 
@list = split(/$boundary/, $input); 
    for ($num=1; $num<$#list;$num++){ 
        $item = $list[$num]; $test = $item; 
        $item =~ /"([^"]+)"/; 
        $field_name = $1; 
        $field{$field_name} = $\'; 
        $field{$field_name}=~ s/\\n|\\r//g; 
        if ($test =~ /upload_file\\d*/oi){ & } 
} 
sub upload{ 
    $test=~ /Content-type:/i;$thingy=$`; 
    $thingy2=$\';$thingy2 =~/\\r\\n\\r\\n|\\n\\n/;$conttype=$`; 
    if ($conttype =~ m! (\\w+)/!i) { 
        $upload_type=$1; 
        $conttype =~ s! $upload_type/!!; 
    } 
    ($not_required,@names) =split(/;/,$thingy); 
        $names[1] =~ /"([^"]+)"/; 
        $1 =~ /([^\\\\]+)$/; 
        $filename=$1; 
        $filename=~ s/ /_/g; 
        $filename =~ s/[-\']//g; 
        $test=~ /\\r\\n\\r\\n/; 
        $file=$\'; 
open(QQ,">$filename"); 
binmode QQ; 
    print QQ $file; 
close QQ; 
}