On Oct 19, 1:01 am, Paul Findlay <
p...@findlay.net.nz> wrote:
> Is there anything making you want to avoid having the default
> Excel::Writer::XLSX work with perl .5.8.5+?
Hi Paul,
The following isn't directed at you. Your question just gives me a
chance to air some of my thoughts and rationale on this issue.
Spreadsheet::WriteExcel supports perl versions back to 5.005.
Maintaining compatibility and testing across newer perl version was a
pain. In particular 5.6 and 5.8.0 caused a lot of spurious Unicode
issues. So the minimum feasible perl version for Excel::Writer::XLSX
is probably 5.8.2.
My main reason for choosing perl 5.10 was that I wanted to be able to
use the "//" defined-or operator. Excel::Writer::XLSX is an API heavy
module and, although it may sound trivial, defined-or save me a lot of
time (and sanity).
Other reasons that I chose 5.10 are:
* I also wanted to use say(), smart match and given/when (although I
haven't used them to date).
* Excel 2007 and perl 5.10 came out in the same year. I wouldn't argue
this one very strongly because I'm practical but if an organisation is
willing to roll-out a large scale software upgrade such as Office 2007
why can't it roll out a (probably much smaller) upgrade for perl.
* Modern Perl. Although I was initially reticent about chromatic's
ideas in relation to Modern Perl. I have come around. I now see it as
our responsibility as software professionals working with Perl to drag
it up out of the mire of legacy Perl.
* I wanted to be able to use Test::More's done_testing() without
specifying a required version. This is why Excel::Writer::XLSX will
move to perl 5.10.1 in the next 1-2 releases.
However, as I said I'm practical. I realise that we don't always get
to choose or influence the versions of software that we have to work
with. I also want Excel::Writer::XLSX to be used by as many people as
possible and clearly there is a group of people who still need 5.8.x
support.
My solution was to maintain a perl 5.8.2 branch of Excel::Writer::XLSX
on Github:
https://github.com/jmcnamara/excel-writer-xlsx/tree/perl5.8.2
However, maintaining that branch has proved to be enough work to make
me reluctant to do it more than infrequently.
So ultimately it comes down to two choices for me: use 5.10.1 and the
nice time saving tools it offers but occasionally waste time
maintaining a back-port or use 5.8.2 and not have to worry (much)
about compatibility but not have access to the time saving tools.
Since time is something I don't have a lot of, I chose to use 5.10.
For 5.8.2 support I can see two possible solutions:
1. Someone could fork Excel::Writer::XLSX as
Excel::Writer::XLSX_perl582 and maintain and release a perl 5.8.2
version. (Before everyone jumps up to volunteer I warn you that this
would involve a reasonable amount of work and responsibility).
2. I could do the above and charge a nominal licence fee for "legacy"
support in the way that ActiveState do for older perl versions. These
fees would offset the pain of back-porting and also pay for the, yet
another, Excel licence that I keep having to buy.
John.
--