#!/usr/bin/perl use strict; use warnings; use CGI; use Data::Dumper; use HTML::Entities qw/encode_entities/; my $q = CGI->new(); print $q->header; unless ($q->param('multi_files')) { print ' Stupid Test Site

This is a test

Your Name:
Email Address:
Select PO folder:
Comments:

'; exit; } my $upload_folder = '/var/www/html/uploads'; my $name = $q->param('name'); my $email = $q->param('email'); my $comments = $q->param('comments'); my @files = $q->param('multi_files'); my $tostdout=1; ###### see ###### http://stackoverflow.com/questions/3196783/perl-file-upload-cant-init-filehandle ###### File upload forms need to specify enctype="multipart/form-data". ----- Sinan Ünür my @io_handles=$q->upload('multi_files'); print '
'; 
print Dumper(\@files); 
print Dumper(\@io_handles); 
print '
'; print '
step0'; for my $upload (@files){ print "
Upload this please -- $upload
"; if ($upload){ eval { if ($tostdout) { print '
' ; 
             while ( my $buffer  = <$upload>) {
               print STDOUT  encode_entities($buffer);
             } # while 
             print '
' ; } # tostdout else { open (OUTFILE,">$upload_folder/$upload") or die $!;; binmode OUTFILE; while ( my $buffer = <$upload>) { print OUTFILE $buffer; } # while close OUTFILE; } # notstdout }; # eval print 'error:'.$@.'
' if $@; } # upload else { print "
Guess it's broken
"; } # else } # $upload print "

Name -- $name
Email -- $email
Comments -- $comments
"; print $q->end_html; #### $VAR1 = [ bless( \*{'Fh::fh00001multiuploads/a.txt'}, 'Fh' ), bless( \*{'Fh::fh00002multiuploads/Copy of a.txt'}, 'Fh' ), bless( \*{'Fh::fh00003multiuploads/Copy (2) of a.txt'}, 'Fh' ) ]; $VAR1 = [ bless( \*{'Fh::fh00001multiuploads/a.txt'}, 'Fh' ), bless( \*{'Fh::fh00002multiuploads/Copy of a.txt'}, 'Fh' ), bless( \*{'Fh::fh00003multiuploads/Copy (2) of a.txt'}, 'Fh' ) ]; step0 Upload this please -- multiuploads/a.txt this is a.txt Upload this please -- multiuploads/Copy of a.txt this is a.txt Upload this please -- multiuploads/Copy (2) of a.txt this is a.txt Name -- a Email -- b Comments -- ok