Cascading Prerequisites
Having setup a new system with a base Perl several times recently I’ve invented a new game.
It is very frustrating to be offline and find that one of your old standby modules isn’t available, and yet who wants to spend all that time installing modules? So the game is to find the single module with the largest dependency tree, that will bring in the highest number of high quality libraries on a virgin install. So far my candidate is Email::Store which I just installed having only previously installed Bundle::CPAN and DateTime. (btw. this isn’t a criticism, what I love about Perl is how highly leveraged it all is)
In order to get Email::Store to install (and pass its tests, through in retrospect I probably could have ignored Class::DBI::DATA::Schema complaining about needing SQL::Translator, and Cache::File and ended up with a much shorter list) I installed (well CPAN did all the work) the following list of modules
- MailTools-1.62
- Email-Valid-0.15
- Email-Simple-1.61
- Text-Glob-0.06
- Number-Compare-0.01
- File-Find-Rule-0.28
- Exporter-Lite-0.01
- UNIVERSAL-exports-0.03
- Module-Pluggable-1.6
- Email-Abstract-1.0
- URI-1.31
- Mail-ListDetector-0.31
- Module-Pluggable-Ordered-1.0
- Mail-Message-Attachment-Stripper-1.0
- Mail-Box-2.055
- Geography-Countries-1.4
- User-Identity-0.07
- TimeDate-1.16
- Scalar-List-Utils-1.14
- Mail-IMAPClient-2.2.9
- MIME-Types-1.13
- IO-stringy-2.109
- MIME-tools-5.411
- HTML-Tagset-3.03
- HTML-Parser-3.36
- Mail-SpamAssassin-2.63
- Mail-Box-Parser-C-3.005
- Digest-SHA1-2.10
- Digest-HMAC-1.01
- Object-Realize-Later-0.15
- HTML-Tree-3.18
- Mail-Box-2.055
- Mail-Message-Attachment-Stripper-1.0
- Class-DBI-0.96
- Class-Data-Inheritable-0.02
- Class-Trigger-0.08
- DBI-1.42
- DBIx-ContextualFetch-1.01
- Class-WhiteHole-0.04
- Ima-DBI-0.33
- UNIVERSAL-moniker-0.07
- Class-Accessor-0.19
- Class-DBI-DATA-Schema-0.04
- DBD-SQLite-0.31
- Email-Store-0.05
- File-Slurp-9999.04
- SQL-Translator-0.05
- GD-2.12
- OLE-Storage_Lite-0.12
- Spreadsheet-ParseExcel-0.2603
- Algorithm-Diff-1.15
- Text-Diff-0.35
- Test-Differences-0.47
- Sub-Uplevel-0.08
- Test-Builder-Tester-0.09
- Test-Exception-0.15
- YAML-0.35
- AppConfig-1.56
- Template-Toolkit-2.13
- XML-Writer-0.510
- XML-XPath-1.13
- Class-Base-0.03
- Parse-RecDescent-1.94
- GraphViz-1.8
- IPC-Run-0.78
- Math-Bezier-0.01
- Heap-0.71
- Graph-0.20105
- GraphViz-1.8
- Text-TabularDisplay-1.18
- Text-RecordParser-0.06
- File-NFSLock-1.20
- IO-String-1.05
- Cache-2.01