Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^3: Why version strings?

by cavac (Curate)
on Mar 28, 2011 at 20:06 UTC ( #896012=note: print w/replies, xml ) Need Help??

in reply to Re^2: Why version strings?
in thread Why version strings?

It's not all about working out the syntax error, either (even if "you need a newer version of perl" seems much better than some "yada-error in Foo::Bar line 1234").

With the version string, automated tools can decide which is the newest version of the module they can use on a given installation. One of these tools is cpantesters. For example my Maplat project uses some features of perl 5.12, so it wont work on older perl installations:

Maplat CPAN Testers results

The "Pass summary" table gives the potential user a good overview which Maplat version works on which OS and perl version.

The detail tables gives me as a developer a good overview where the bugs are. It differenciates between NA (not available), PASS and FAIL. This makes it much easier to use my limited time to hunt for real, *new* bugs than having to sort out known incompatibilities.

Also, if i ever want to backport some modules to older versions of perl (for whatever reasons), i can simply grep through the files for the version string and find the one that are too modern. Works the other way around, too, when a newer version of perl changes/fixes/removes some "experimental" features of the previous version.

Replies are listed 'Best First'.
Re^4: Why version strings?
by bingos (Vicar) on Mar 28, 2011 at 22:23 UTC

      /me bows head in shame

      You're right of course.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://896012]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (2)
As of 2021-04-16 17:52 GMT
Find Nodes?
    Voting Booth?

    No recent polls found