Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Help with making a Module to reveal supported Perl versions

by davido (Archbishop)
on Dec 11, 2013 at 19:45 UTC ( #1066692=note: print w/replies, xml ) Need Help??


in reply to Help with making a Module to reveal supported Perl versions

Did you see, in your "searching much of last night", Perl::MinimumVersion, and perlver?

The quest you're embarking upon is difficult. If your new module is to provide some functionality not present in Perl::MinimumVersion, you might at least start by building upon the shoulders of that giant.

And if you did find that module last night, perhaps you could elaborate on how it fails to meet your needs. Then we would at least better understand the context under which you're forging a new tool.


Dave

  • Comment on Re: Help with making a Module to reveal supported Perl versions

Replies are listed 'Best First'.
Re^2: Help with making a Module to reveal supported Perl versions
by taint (Chaplain) on Dec 11, 2013 at 19:54 UTC

    Thank you, davido! No, I didn't see Perl::MinimumVersion. While I haven't yet thoroughly examined it. It does seem to "fit the bill". Should I find something missing. I would surely simply attempt to add to it (by building upon the shoulders of that giant). :)

    Thank you very much davido, for the excellent link. Much appreciated.
    I can't believe I missed it. <blush>

    --Chris

    Yes. What say about me, is true.
    
      Update:

      OK. I've had a bit of time to examine it (Perl::MinimumVersion) enough to evaluate to my perceived needs regarding the Module I had intended to create. Specifically; it lacks the ability to cross-reference calls/functions imported/exported by other Modules that your Module (uses|requires). It's difficult. Because, as I found last night File::Path is effectively in Perl. But the exports are different. For example. File::Path qw(make_path); was introduced in 5.8. But in order to achieve the same results in earlier versions. I discovered the export had to be File::Path qw(mkpath);. This would also work in versions newer than 5.6. But, being "legacy", will throw warnings during the "smoketest" cycle(s) on the CPAN.

      So. Perhaps my well-intentioned endevour is still valid. But would be better directed at an extension the the already existent Perl::MinimumVersion.

      Thanks again for your input.

      --Chris

      Yes. What say about me, is true.
      

        Yes, that is a can of worms. Sometimes it's easiest to just look at the Changes files of the modules your module depends upon to see if you're using some feature that wasn't available in earlier versions. Then in your Makefile.PL specify a minimum version number for that module which will satisfy your use case.

        Dual-lifed modules are tricky too, but the process is similar.

        As a last resort you can upload a dev release of your module to CPAN and watch the FAIL reports roll in.

        The undertaking of determining what the earliest version of all dependency modules needs to be to support a given module on a given version of Perl is really hard. If you have the time, energy, and capability to do it right, be sure to put it on CPAN. If you don't have the time, energy, and capability to do it right, you are not alone. ;)


        Dave

Re^2: Help with making a Module to reveal supported Perl versions
by choroba (Bishop) on Dec 11, 2013 at 20:01 UTC
    The source seems to stop at 5.12. Lot of new stuff since then to add...
    لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

      Maybe it's a candidate for adoption. There are a number of open reports. Nevertheless, it makes more sense to bring it up to speed than to start from scratch.


      Dave

        Agreed (adoption). I'll make a request.

        Which still leaves the question I asked initially; How might one best glean all the Perl bits, for comparison?

        I've installed, and am investigating the source (Perl::MinimumVersion). I'll probably build up a complete Perl version doc set. Then initially work from there. My suspicion is I'll need to bone up on my Perl RE. :)

        --Chris

        Yes. What say about me, is true.
        

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1066692]
help
Chatterbox?
[marto]: good morning all

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2017-10-23 08:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My fridge is mostly full of:

















    Results (277 votes). Check out past polls.

    Notices?