http://qs321.pair.com?node_id=11134757

LanX has asked for the wisdom of the Perl Monks concerning the following question:

Hi

I have multiple theories why this might happen, but maybe someone has just a trivial answer:

what am I missing???

Background: One of my colleagues was struggling with DateTime failing, but only under some circumstances, because Specio couldn't find Ref::Util , but only under some circumstances.

We resolved this by installing Ref::Util (again?)

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

Replies are listed 'Best First'.
Re: [Metacpan] Dependency vs Reverse Dependency
by pryrt (Monsignor) on Jul 07, 2021 at 13:29 UTC
    It is not in the list of required modules. But the pod mentions it as an "Optional Prereq", saying that "Installing this will speed up a number of type checks for built-in types."

    Ahh, according to this search, it shows up in the recommends list. So apparently Metacpan's reverse dependency list includes recommended, not just required.

Re: [meta::cpan] Dependency vs Reverse Dependency
by hippo (Bishop) on Jul 07, 2021 at 13:40 UTC
    The page [at metacpan] for Ref::Util lists Specio as "Reverse Dependency"

    The equivalent page at cpantesters does not list it as such. Optional (suggests/recommends) dependencies are treated differently by these two systems so pick whichever one fits better with your own view of what constitutes a reverse dependency.


    🦛

Re: [meta::cpan] Dependency vs Reverse Dependency
by choroba (Archbishop) on Jul 07, 2021 at 13:30 UTC
      So is an "Optional Prereq" a "Reverse Dependency"?

      edit

      I mean by definition not by implementation of Metacpan.

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery

        Possibly. For example, some modules may require a JSON parser but be agnostic about which JSON parser. You could install such a module without JSON::XS or without JSON::PP or without JSON::Foo but not without at least one of them. Individually they are not required but collectively at least one of them is. I'm not sure that the existing meta spec handles such a scenario in a logical, intuitive, consistent manner.


        🦛

        I don't know the definiton, but the implementation seems to be here.
        map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]