Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Hi, I'm trying to upload a file, and then process the contents of the file. Mostly this works fine, but in some cases, the results on the page are incorrect. It prints the processed filename correctly, but the processed contents are the contents from a previously uploaded file.
Any ideas where it goes wrong ?
Thanks! Rianneuse CGI qw/:standard -private_tempfiles/; use Text::CSV; use Fcntl qw( :DEFAULT :flock ); use constant UPLOAD_DIR => "/tmp"; use constant BUFFER_SIZE => 16_384; use constant MAX_FILE_SIZE => 50*1_048_576; # Limit each upload + to 50 MB use constant MAX_DIR_SIZE => 100 * 1_048_576; # Limit total uploads +to 100 MB use constant MAX_OPEN_TRIES => 100; $CGI::DISABLE_UPLOADS = 0; $CGI::POST_MAX = MAX_FILE_SIZE; my $q = new CGI; $q->cgi_error and error( $q, "Error transferring file: " . $q->cgi_err +or ); #Some other stuff here print $q->header( "text/html", -expires => "-1s" ), + $q->start_html( -title => "Wordcloud Generator", -bgcolor => "#f +fffff", -head=>$q->meta({-http_equiv => 'Pragma', -content => 'no-cache'}) +), $q->h2( "Wordcloud Generator" ), $q->hr, $q->p("Processed file:", $file); my $in = $q->upload( "file" ); my $csv = Text::CSV->new ({ binary => 1, eol => $/, sep_char => "\t" } +); my $header = "1"; my $numcolumns; while(my $line = <$in>) { if($csv->parse($line)) { my @row = $csv->fields(); #processing the file
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Uploading and reading file
by MidLifeXis (Monsignor) on Nov 22, 2011 at 17:52 UTC | |
Re: Uploading and reading file
by Khen1950fx (Canon) on Nov 22, 2011 at 19:41 UTC | |
Re: Uploading and reading file
by Anonymous Monk on Nov 23, 2011 at 14:49 UTC |
Back to
Seekers of Perl Wisdom