Oct 31, 2008, 2:49:02 AM10/31/08
Spreadsheet::ParseExcel is an important module in the Perl ecology.
Unfortunately it has fallen slightly into disrepair.
We have an opportunity in the Perl community to make
Spreadsheet::ParseExcel more stable and better documented with more
working examples. In short more usable.
Here is a proposed roadmap for what should and can be accomplished.
If you have further ideas add them below.
Short term goals
* Get more people involved. That may follow on from the next points.
* Fix show stopper bugs.
* Perltidy the code and add more/fix comments. This is important if
multiple people are working on the code or submitting patches.
* Rewrite the documentation. The current code samples are confusing
and there are too few of them. The documentation also highlights
obscure features of the module and doesn't explain in detail the more
* Add more example programs. This is something that casual developers
can help with. I might even open nodes on Perlmonks and ask for
submissions. Things like XML, Html and CSV converters and examples of
transferring data to DBs.
* Host the code in an open repository.
Medium term goals
* Move away from the hungarian notation camelcase variable naming
(especially in examples).
* Write an architecture doc to explain how it works for future
* Write more tests.
* Reduce the CPAN RT queue down to something manageable. Some of the
trackers are old issues that have been fixed and not closed. Some are
* Better interoperability with Spreadsheet::WriteExcel via SaveParser.
* Initiate a formula deparsing subproject so that formulas could be
converted from their binary RPN format into a textual representation.
This would allow formulas to be rewritten in Spreadsheet::WriteExcel.
* Move to perl 5.8+ only for maintainable Unicode support.
* Drop Excel 5 support and move to Excel 97+ file format to reduce
maintenance and code duplication.
Longer term goals.
* Split the framework so that both XLS and XLSX formats can be parsed.
This is a non-exhaustive list and some items will take priority over
others. Feel free to add comments suggestions below.