in reply to Re^2: Perl::Minimal -- the good, bad, and the ugly...
in thread Perl::Minimal -- the good, bad, and the ugly...

I'd say the must-haves are:

  1. strict
  2. warnings
  3. utf8
  4. Carp
  5. Exporter
  6. List::Util
  7. Scalar::Util
  8. parent
  9. Tie::Hash::NamedScalar and File::Glob because they get auto-required by core under various circumstances.
  10. Everything necessary to bootstrap a CPAN client such as cpanminus.
  11. Test::Harness
  12. Test::More

If you wanted to throw some other stuff in as a bonus:

  1. HTTP::Tiny (though this is probably necessary to bootstrap a CPAN client)
  2. JSON::PP
  3. Class::Tiny
  4. Role::Tiny
  5. Class::Method::Modifiers

In practice there are quite a few modules which are only available as part of the core Perl distribution, and are not on CPAN in their own right. This means that if you cut them out of your Perl install, users cannot obtain them from CPAN. So you probably need to keep them.

use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
  • Comment on Re^3: Perl::Minimal -- the good, bad, and the ugly...

Replies are listed 'Best First'.
Re^4: Perl::Minimal -- the good, bad, and the ugly...
by taint (Chaplain) on May 30, 2014 at 18:49 UTC
    Hello, tobyink.

    Thanks for taking the time to suggest a list of "Must Have's"!

    I really appreciate your input. As I'd be inclined to think your activity on the CPAN (~tobyink) to provide, perhaps, more insight to the Must-Have's. :)

    As to:

    In practice there are quite a few modules which are only available as part of the core Perl distribution, and are not on CPAN in their own right. This means that if you cut them out of your Perl install, users cannot obtain them from CPAN. So you probably need to keep them.
    This one is a Moving Target (see my comment in your Re: Perl 5.20.0, and perl What is new for perl v5.20.0) for greater context. As a possible remedy; it seems worthwhile to/for someone to maintain such "depreciated", not-included, or CORE-only modules. Which also speaks to your suggestion for including CPAN-enabling Modules.

    Thanks again, tobyink, for taking the time to compile a list of Must-Have's. Greatly appreciated.

    --Chris

    ¡λɐp ʇɑəɹ⅁ ɐ əʌɐɥ puɐ ʻꜱdləɥ ꜱᴉɥʇ ədoH