in reply to Re^4: Assigning default values to function arguments which may be “empty”
in thread Assigning default values to function arguments which may be “empty”

There are actually 2 problems with this approach. The first is the one I mentioned above where a perhaps pointless error is thrown for users with older perls. The second is that just because a module is in core for a certain perl version does not guarantee that it is installed. RHEL does this a lot, for example: if I were to run your code on a stock RHEL5 machine it would pass the version test (5.8.8) but then throw the compiler error because the module isn't actually installed.

FWIW, I think it would be considered fine to use a module which has been in core that long anyway. Folks running really old perls or those without core modules present will mostly be used to installing such dependencies. Your choice, of course.

  • Comment on Re^5: Assigning default values to function arguments which may be “empty”

Replies are listed 'Best First'.
Re^6: Assigning default values to function arguments which may be “empty”
by Wyrdweaver (Beadle) on Aug 19, 2016 at 17:38 UTC

    Thanks for that information. I was making the assumption that being in CORE actually meant guaranteed to be packaged with that distribution.

    What does being in perl CORE actually mean then?

      It means that the module is bundled with the source distribution of perl. Anyone who downloads and installs that perl version from source gets the module as part of the deal. The perl installed by default by your O/S does not necessarily include the core modules. If you think it should, please contact your O/S maintainer.

      What does being in perl CORE actually mean then?

      There is a true joke that goes, when you strip the CORE, you're not distributing perl anymore, so dont call it perl