(Apologies, but since I am not on my work system at the moment, the following is based on memory.)
Last week I was working on several scripts for $job[0] that generate and email data in spreadsheets. Previously I have used (very successfully) Spreadsheet::WriteExcel to generate XLS documents, but for various reasons was asked to change to generating XLSX documents. Following the suggestion of the documentation, I modified the script on Thursday to instead use the Excel::Writer::XLSX module. (The extent of the changes were to change the use statement, change the extension on the generated filename, and the new() call.) Friday morning, two of the scripts failed to generate their expected output, instead complaining about "Couldn't create subdirectory xl/worksheets".
I spent the better part of Friday trying such things as:
- changing croak() to confess() to try to get more information,
- attempting to set permissions (via chmod) on the directory (and/or its parents) in the Excel::Writer::XLSX::Package::Packager::_mkdir routine,
- specifying a temp directory using the set_tempdir() method (specified directory was set as 01777 permissions),
- adding in File::Path and using the mkpath function to build the required directories,
- installing a newer version of Excel::Writer::XLSX (System is running on a RH6.x-based system, meaning perl 5.10.x, and Excel::Writer::XLSX v. 0.84.)
All to this point has been to no avail. (I cannot recall if there was anything else I tried. In my attempts at trying to solve the problem myself, I did notice that
File::Temp is used to create the temporary directory, and in trying to track if that might be the cause saw a number of comments regarding permissions on temporary files and directories. I am not sure at the moment if that bit of information adds to or detracts from the question, however.)
Anyone run into this before, and more importantly, can offer a possible way out?
Thank you in advance for your time, attention, and any assistance you may be able to provide.
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.