Perl の場合は、CGI として動作させる場合は、必ず
print qq|Content-type: text/html\n\n|;
という行が必要な以外は、PHP とほとんど同じである。
アップロードには、いつも使っているおなじみの CGI モジュールを使う。
use CGI;
そうすると、以下のようにアクセスできる。
our $CGI = new CGI;
...
my $xml = $CGI->param('file');
$xml はファイルポインタが入っている。通常は open(IN, "..."); などするときの IN にあたるものである。以下は、コード。アップロードする側の HTML ファイルは 
PHP でアップロードファイルを処理するで紹介したのと同じ。
#!/usr/bin/perl
use strict;
use CGI;
our $CGI = new CGI;
print qq|Content-type: text/html\n\n|;
init();
sub init() {
    # XMLパーサー作成 ('UTF-8')
    my $xml_parser = new XML::Parser(    ProtocolEncoding => 'UTF-8',
                                        Handlers=>{    Start=>\&startElement,
                                                    End  =>\&endElement,
                                                    Char =>\&dataHandler    });
    # ファイルのオープンはいらない。input タグで指定した name 属性がそのままファイルハンドルになる
    my $xml = $CGI->param('file');
    # XMLパース処理
    $xml_parser->parse($xml) or    die "XML error: $xml_parser";
    # ファイルクローズ
    close($xml);
}
1;
    トラックバック URL:
    https://perltips.twinkle.cc/trackback/28