Front page | perl.perl5.porters |
Postings from August 2010
From: John Peacock
August 31, 2010 05:30
Message ID: 4C7CF5C0.email@example.com
On 08/30/2010 03:18 PM, David Golden wrote:
> See my point above about version.pm. In retrospect, I think the
> *worst* design decision with version objects was to compile the
> behavior into core and leave the public API in a module, followed by
> the decision to try to provide a compatibility layer for older perls.
It's really the only way that it could work; Perl itself needs to have
access to the version object creation and comparison way before any
modules get loaded. And the public API isn't really in a module, in
that you can use version->new without 'use version':
$ perl -e 'print version->new("1.2.3");'
version.pm is well and truly "baked in" to the Perl core.
> [To be clear, I mean nothing personal intended towards John Peacock in
> that comment. Sorry, John, I know you've sweated blood over this and
> have done heroics to keep it working, but if we could have a
> "do-over", version objects might be at the top of my list. The
> downstream pain for the toolchain has been enormous.]
FWIW, I agree 1000%. But can we start with a do-over for v-strings and
do them right the first time? Then version.pm would never have needed
to exist... :-(