请教上传文件

请教上传文件

本人是由CGI接触到Perl,学习Perl时间尚短,所知有限。现在在试做一个CGI程序,需要用到上传文件。请问这个应怎么实现,或者用什么模块比较适合?还请各位指点,不胜感激!


[Copy to clipboard] [ - ]
CODE:
        open( IN, ">$base_dir/$user_online/$file_name" ) || &upload_failed();
       
        binmode( IN );
        while( my $byte = read( $file, my $buffer, 1024 ) ){
                print IN $buffer;
        }
       
        close( IN );

这用的是哪个模块?
use CGI;

基本原理:
1、通过CGI获取上传的文件名
2、在服务器创建一个同名文件
3、写文件内容
恩,我在CPAN的某个地方(忘了)看到过这个办法。我试下先。谢谢!
有个问题,能绕开CGI模块么?我目前还没把它弄熟

另外,各位高手知道有哪些关于CGI及其他常用模块的好教材么?推荐一下啊,多谢!


[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl -Tw
use CGI ':standard';
use strict;
my $out = start_multipart_form.filefield(-name => 'upload');
$out .= br.submit('submit','Send').end_form;
my$file = param('upload');   
        #the filename returned is also a file handle
if(request_method eq 'POST' &&
    defined $file && ref $file && ref $file eq 'Fh')
{
    local $/ = undef; #read the whole file
    $out .= pre <$file>||'';
        #takes care not to send uninitialized value
    close $file if $CGI::OS ne 'UNIX';
        #such as Win32 platforms
}
print header,start_html('Sample upload page'),$out,end_html;

饶开 CGI.pm 意味着你自己分析multipart_form 的东西。。。非常烦琐的代码。