On 07/28/2018 08:26 AM, Brandon Allbery wrote:
I think you can use Version.new on that and compare them reasonably directly? That said, comparison of version numbers is a bit of a minefield for exactly this reason: not everyone agrees on when to use string vs.  numeric comparison, or what to do when one is numeric and the other isn't.

Hi Brandon,

I wrote my own routine to test if a revision is greater
than a prior revision.  It took two years of thinking
and refining and recently moved it from Perl 5 to Perl 6.

I am working on my program to go the web and update various
programs I support at customer's sites.

You are right about the mine field.  Delimiter variations
I have to deal with are

   1_2_3_4
   1.2.4-4
   1.2.3_4
   1a10
   1b10
   1rc10
   8u123  (freaking Java)
   and so on and so forth.

   and is 1.2.3 newer than 1.2.3.0, etc.?  (I tag them as identical.)

First I take a,b and rc and adjust them
        2.3a5  --> 2.2.4997
        2.3b5  --> 2.2.4998
        2.3rc5 --> 2.2.4999

Then I do is to first bust both strings into dot only
delimiters.

Next I create number arrays out of each.  Then I make sure
both array have the same number of cell by back filling
the short array with zeros.

And finally, I loop across both arrays at the same
time to find if the revision is newer.

As I said, it took me two years of thinking and refining.
If anyone want to see this code, drop me a line.  I'd
love to share what I have been up to for the last two years!

-T

Reply via email to