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

Aside from the "provider stuff". I agree. But I guess that's the point; exactly what are the MUST-HAVE's?

Is it possible to come up with enough of them to know that anyone tempted to use "Minimal Perl" would know that they will only need to add a few Modules to make it work for their Project/App?

Thanks for the feedback boftx.

--Chris

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

  • Comment on Re^2: Perl::Minimal -- the good, bad, and the ugly...

Replies are listed 'Best First'.
Re^3: Perl::Minimal -- the good, bad, and the ugly...
by tobyink (Canon) on May 30, 2014 at 18:22 UTC

    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
      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

Re^3: Perl::Minimal -- the good, bad, and the ugly...
by taint (Chaplain) on May 30, 2014 at 07:21 UTC
    I wonder what the odds are for discovering the top N, require statements?

    First thought was using the statistics at the CPAN to garner the requires of the top Mod's. But given those stats are so long lived. I'm afraid that might skew the results too much, given there are mirrors, and they don't correlate, concatenate the data with one-another. Nothing that I'm aware of is available for such data.

    More thought, and investigation required.

    --Chris

    UPDATE correct myself (note strike out).

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