my $file_name = $2; open (FILE, "$name") or die "unable to open file";
What is $name set to? Undef? Something else in your script (global $name?) On top of that I don't think doing a regex is really necessary (or would actually accomplish what you want).
Here's some code to demonstrate:
#!/usr/local/bin/perl -w use CGI qw(:standard); my $query = new CGI; print $query->header; print $query->start_html( -title => "CGI" ); if( $CGI::DISABLE_UPLOADS ) { print $query->h2( 'Cheezy - uploads disabled in CGI.pm ... try res +etting' ); $CGI::DISABLE_UPLOADS = 0; } else { print $query->h2( 'Great ... uploads enabled in CGI.pm' ); } my $file = $query->upload('file'); if( ! $file ) { print "No file uploaded."; } else { $file =~ m/^.*(\\|\/)(.*)/; my $file_name = $2; print $query->h2( 'file_name' ), $file_name; print $query->h2( 'File name' ), $file; print $query->h2( 'File MIME type' ), $query->uploadInfo( $file )- +>{'Content-Type' }; print $query->h2( 'Ref $file' ), ref( $file ); my $data; while( <$file> ) { $data .= $_; $length += length( $_ ); } print $query->h2( 'Contents' ); print $query->pre( $data ), $query->p; print $query->h2( 'File length' ), $length; } print $query->end_html;
-derby
In reply to Re: Re: Re: Re: Re: CGI file very odd
by derby
in thread CGI file very odd
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |