http://qs321.pair.com?node_id=11131114


in reply to How Perl revolve

I'm not sure I understand this part of your argument .. for me, one of the strengths of Perl is that old code continues to run just fine under new versions. I can't think of an example where an old function was deprecated, because that would cause old code to break. Do you have an example of this?

Alex / talexb / Toronto

Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013.

Replies are listed 'Best First'.
Re^2: How Perl revolve
by haukex (Bishop) on Apr 12, 2021 at 05:53 UTC
    I can't think of an example where an old function was deprecated, because that would cause old code to break. Do you have an example of this?

    See perldeprecation, and though some of the features may seem obscure, I do believe that they caused some breakages. As I recall, P5P did proceed quite carefully for each of them, checking breakages on CPAN etc. Also, they've generally fallen into two categories: One, things that have been deprecated for ages (e.g. $* and $# are documented as "Deprecated in Perl 5. Removed in Perl v5.10.0.", but weren't fatal until 5.30), or two, changes to make room for new syntax in the future (e.g. the notes for "Some formerly deprecated uses of an unescaped left brace "{" in regular expression patterns are now illegal" in 5.30 state "... will enable the Perl language to be extended in various ways in future releases."). Update: I guess a third category would be experiments that were removed - perlexperiment.

      Thanks for this .. yes, there have been a few quite minor features that were deprecated, but my reading of the original post talked about 'functions' that had been deprecated, and that made me think of actual keywords (like split, for example -- which has *not* been removed, obviously) that had been removed from the language, causing breakage.

      Alex / talexb / Toronto

      Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013.

        my reading of the original post talked about 'functions' that had been deprecated, and that made me think of actual keywords (like split, for example -- which has *not* been removed, obviously) that had been removed from the language, causing breakage.

        Yes, that's true, and a quick skim of the docs shows that might apply to Unqualified dump() and File::Glob::glob() will disappear (plus, it's not deprecated, but study hasn't had any use for a while now). I was looking at this from the angle of breakages, and I remember following some of the P5P threads when things were removed that caused breakages on CPAN. For modules that are high upstream on the CPAN River, patches were submitted, and for other packages, bugs were filed on RT.