That is different, but it isn't too hard...first, you need to use CGI.pm, then you get a list of the files, open them and write them out to another file. Here is an example...your webform will need one input named 'outfile' for the file you want to save to. You will also need a series of inputs named 'fileX' where 'X' is a number, one for each input file.
WARNING!!! This example doesn't use taint in order to make it more readable. In a real script you should always use taint.
use CGI;
my $q = new CGI; # Get a CGI object
open (OUT, ">$q->param('outfile')") || die $!; # Open our output file
my @files = grep{/^file\d+$/} $q->param(); # Grab a list of params
for my $filename (@files){
open (IN, $q->param($filename)) || die $!; # Open each input file
print OUT <IN>; # Print the input file to the output file
close (IN); # Make sure you close the input file
}
close (OUT);