thanks for the reply here is something strange. i cant figure out based on all this, under mod perl 1 Apache/1.3.29 on FreeBSD devserver.ppw 5.1-RELEASE below is a small piece of my module the 'parsefile' subroutine *does not* print out %args, i dont understand why not can someone explain? ************ sub handler { my $r = Apache->request; #for upload my $apr = Apache::Request->new( $r, POST_MAX => 10 * 1024 * 1024, # in bytes, so 10M DISABLE_UPLOADS => 0 ); #if upload object exists if ( $apr->upload ) { parseFile($r); } else { #print form for upload printForm($r); } } sub parseFile { my $r = shift; my $apr = Apache::Request->new( $r, POST_MAX => 10 * 1024 * 1024, # in bytes, so 10M DISABLE_UPLOADS => 0 ) ; my %args = $r->args; warn Data::Dumper::Dumper(%args); #do stuff with $apr-upload such as store file } sub printForm { my $r = shift; $r->send_http_header('text/html'); $r->print("\n"); $r->print("

Upload sites

"); # Output a simple form. $r->print(< Excel File
EOF return OK; } 1; ********** -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html