It seems like most of the time the XX part is essentially two digits,
where the leading 0 is implied, i.e.:

1.1.1 -> 1.01.01


This could be directly compared with:

1.0101

and would solve the case where

1.9.1 > 1.10.1

Looks like the only case where that wouldn't work would be where the
format looks like

X.XXX_XX

but thankfully nobody would ever do anything that silly (++$sarcasm)

I don't remember the last time I saw a version w/ .XXX. in it other
than perl itself.

Austin

On Wed, 22 Apr 2009 19:14:41 -0400
David Golden <xda...@gmail.com> wrote:

> I scanned the version numbers as parsed out of distribution filenames
> on my minicpan and analyzed the generic format.  Since we're talking
> about distribution version numbers and most of the time those will be
> generated by M::B, EU::MM or M::I and applied to META.yml and the
> filename, it's reasonably representative of the problem space.
> 
> While there are probably some edge cases that I didn't parse
> correctly, it's close enough to see what's out there.
> 
> In the following table "X" is a digit (best viewed monospaced).  The
> full analysis is here:
> http://echo.dagolden.com/~xdg/format-analysis.txt
> 
> OVERALL TOP FORMATS
> X.XX        12986
> X.X         1624
> X.XXX       1048
> X.X.X       754
> X.XXXX      359
> X.XXXXX     165  # Repository sequence numbers?
> vX.X.X      138
> X.XX_XX     89
> X.X.XX      71
> X           64
> X.XX.X      62
> X.XXXXXX    58
> X.XX.XX     37
> X.XXa       34
> X.X.X.X     19
> XXXXXXXXXX  19   # YYYYMMDDNN?
> X_XX        18
> XXXXXXXX    18   # YYYYMMDD?
> X.XXb       17
> X.XX_X      16
> 
> -- David

Reply via email to