3 ms·
With CPAN this was solved by hierarchical package/class naming. Net.pm Net/IMAP.pm Net/IMAP/SSL.pm ^ Each of those is published by a different author, a
by 0xbadcafebee 5y ago
With CPAN this was solved by hierarchical package/class naming.
Net.pm
Net/IMAP.pm
Net/IMAP/SSL.pm
^ Each of those is published by a different author, and inherits the previous one to add features. As a result CPAN is a tremendously useful library of OO, not because they're all different, but because they are designed to inherit and extend existing code, rather than re-write the whole thing and have 500 differently-named-almost-identical codebases.
CPAN's been around for decades, and everybody talks about DRY code, and yet no other language seems to want to actually reuse and extend code.