* O. STeffen BEYer <ost...@gmail.com> [2009-10-13 15:30]: > I'd rather have the user decide what he/she wants, as in this attached file.
That’s the wrong way to think about it. OK, hyperbole; it’s not *wrong*. But it’s very incomplete. Don’t forget that there are a lot of people who might merely want to use some Perl program, and unlike you and me, they *aren’t* Perl programmers. They are merely users of some random Perl code that uses your module. Most of these users don’t care which version of your module gets installed, and if you ask them to pick one anyway, they won’t know how to decide, either. All they know is they want the program they care about to work. To these people, the option you want to offer is not helpful. It is, in fact, a bewildering obstacle. So for them, you have to provide sensible defaults for all options. (And if there isn’t any strong reason to offer an option in the first place, it shouldn’t even be an option. But that’s just a sidenote, since in your case there is solid reason.) That means your module should just check for a compiler and install with the XS variant by default if possible. The option to change that should be provided in such a way that opinionated users can get at it without forcing other users to care. (This is probably best achieved by checking some environment variable in your *.PL, since that passes down easily through the CPAN shell, whereas taking a switch would force more manual monkeying.) * O. STeffen BEYer <ost...@gmail.com> [2009-10-13 23:05]: > Since Date::Calc is such a low-level basic module, it should be > especially backward compatible, so that even people in old > production environments (never fix what ain't broken) can > upgrade my module and benefit from new functions, without > having to install a load of other modules first - which their > company policies would probably not permit. If they can install Date::Calc, how come they can’t or won’t install other modules? OK, maybe they can’t install XS modules. I can see that. But if they can install *your* pure-Perl module, why can’t they install other pure-Perl modules also? This is not the first time I see this argument and I never understood it. *headscratch* Regards, -- Aristotle Pagaltzis // <http://plasmasturm.org/>