The Set::IntSpan module represents sets of integers as a number of
inclusive ranges, for example '1-10,19-23,45-48'. Because many of its
operations involve linear searches of the list of ranges its overall
performance tends to be proportional to the number of distinct ranges.
This is fine for small sets but suffers compared to other possible set
representations (bit vectors, hash keys) when the number of ranges grows
large.  Set::IntSpan::Fast tries to fix that.

WWW: http://search.cpan.org/dist/Set-IntSpan-Fast/