Thanks to
perrin and
jlongino for their comments. I also contacted Lincoln and exchanged a few ideas with him. Apparently there have been some problems reported with file upload on CGI under mod_Perl, but they have been intermittent and hard to track down.
I added some debugging code to the TempFile DESTROY routine, and after remembering to cycle Apache so that the change got noticed, I discovered that there was an "Permission denied" problem.
Having previously had problems with File::Cache under NT before, I went back into my code and made sure that there was an explicit close to the uploaded file after I copied it from temp. Letting the handle go out of scope, appears to trigger CGI's DESTROY (it works find under CGI-BIN), but not under mod_Perl PerlRun. I added a close $handle at the end of the block just before it went out of scope, and now it works fine.
Lessons learnt:
- People here are helpful - thanks yet again.
- Some module authors are helpful, even though they are very busy - thanks Lincoln.
- NT can do stupid things - it's amazing that Perl and Apache/mod_Perl run on it at all. See timeout from UserAgent from mod_perl and multithreading mod_perl on Windows NT for examples, this had me stumped for a while too.
- I constantly underestimate mod_Perl, it's powerful and complex.
- Usually the problem is me, and trying to explain the problem to other people helps me to see where I went wrong.
Many thanks in arrears.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.