Front page | perl.perl5.porters |
Postings from October 2009
Re: do SUBROUTINE(LIST)
October 26, 2009 19:26
Re: do SUBROUTINE(LIST)
Message ID: firstname.lastname@example.org
On Monday 26 October 2009 18:54:11 Tom Christiansen wrote:
> Your question appears reasonable but seems to assume I held the
> original cursing warranted. I did not, knowing it would break
> several score of my extant scripts. But I let it go then,
> comfortable it wouldn't break programs that ran perfectly fine
> without warnings. Trust me, I've written none such since then.
> But I don't think that matters, either.
I'm asking specifically about a feature deprecated in Perl 5.004, released in
May 1997. I assume that Chip and Larry had a good reason to deprecate it. I
also assume that in the 12 years since then, anyone who really wanted to
undeprecate it could have made the argument to do so and anyone who really
relied on it in important code could have rewritten to avoid it.
Maybe those are unfortunate assumptions to make. I don't intend to justify
them here; I merely document them so that everyone understands them.
> I *DESPISE* having to change code just because some new release
> has gone off and obsoleted it.
> Don't you?
I see it differently. I think the 5.004 release obsoleted this particular
feature -- not a proposed 5.11.2 or 5.12.0 release. There have been 24 stable
Perl 5 releases since 5.004. I think that's a lot of warning away from these
deprecated features and a lot of versions of Perl 5 they can use which
maintain these features.
> I should like to hear the soundly reasoned "justification"
> for breaking backwards compatibility to a level demonstrably
> orders of magnitude worse than Dennis Ritchie himself was
> willing to break it.
Are any of do SUBNAME or the Perl 4 single quote or sigilless aggregates or
hash/array as reference or pseudo-static my() sufficiently ingrained and
pervasive that finally removing them, after years of deprecation notices
available to code that uses -w or the warnings pragma, will cause widespread
Would you consider this upgrade less of a hardship if there were converters
which could rewrite programs to avoid deprecated features? (I gleefully
borrow this idea from a conversation I had with Brian Kernighan regarding Make
and awk. Sadly, there was no food involved.)
Do you oppose removing deprecated features altogether, or do you think people
need more time between deprecation and removal? If the former, do you also
disapprove of deprecation even without eventual removal?