Most of those were only in core very briefly during development runs. attrs was the only one that had ever appeared in a stable release, and it had been deprecated for a very long time. (It was removed in Perl 5.11.0, but had been deprecated in Perl 5.6, around a decade earlier.)
package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name
| [reply] [d/l] |
I agree with you that pragmas are a very reliable dependency.
But (for groups of humans) simple rules are usually better!
Encouraging a "my module has less dependencies then your module" race is dangerous in my eyes, as long as it's based on interpretations of such fuzzy definitions
Don't you think it would be better, if everybody was listing every used module / pragma, and CPAN and/or MetaCPAN or whatever provides an objective metric (a number) or graph?¹
Edit:
At the very least active core modules could be automatically filtered of such a tool.
The dependency tree at CPAN already marks core dependencies, maybe this has just to be graphically enhanced.
Update
Practical suggestion:
Here a dependency tree of Moose linked from CPAN.
Hiding non-deprecated core-dependencies by default and adding a button Show core modules shouldn't be too difficult.
(BTW: Plz note that Moose lists warnings but not strict ;)
Cheers Rolf
( addicted to the Perl Programming Language)
¹)<meditation>
Possibly based on:
- deprecation
- age in Core
- age in CPAN
- last update
- open bugs
</meditation>
| [reply] [d/l] [select] |
Submited to cpandeps bugtracker https://github.com/DrHyde/CPANdeps/issues/30
| [reply] |
Totally agree with you on all points (that's even strange) !
| [reply] |