use CGI qw(:standard); use File::Basename; my $PATH = '/path/to/dir/to/store/files'; if (param('go')) { my $handle = upload('the_file'); my $name = param('the_file'); fileparse_set_fstype('MSDOS') if $name =~ /\\/; $name = basename($name); open OUT, '>', "$PATH/$name" or die "can't open file $name: $!"; print OUT while <$handle>; }