Algorithm::Interval2Prefix - Generate prefixes from intervals
use Algorithm::Interval2Prefix; my @prefixes = interval2prefix('33400','33599'); print join(',', @prefixes); # prints "334,335" my $regex = interval2regex('33400','33599'); if ($n =~ /$regex/) { ... }
Taking an interval as input, this module will construct the smallest set of prefixes, such that all numbers in the interval will match exactly one of the prefixes, and no prefix will match a number not in the interval.
E.g. all numbers in the interval 39967000 to 39980999 would be matched by the following set of prefixes:
39967 39968 39969 3997 39980
This type of conversion is particularly useful when working with telephony switching equipment, which usually determines call routing based on number prefixes rather than ranges.
Note that the numbers in the interval must be of the same length for the result to make sense.
The algorithm is much dependent on the number base, which defaults to 10. Other number bases can be specified explicitly.
An additional function is provided, that will generate a regular expression string matching only those numbers in the interval.
Yields an array of prefixes, covering the interval LO to HI, using number base BASE.
BASE is optional, and defaults to 10.
Yields a regular expression string, which will match only those numbers in the interval.
This function assumes base 10.
Both interval2prefix() and interval2regex() are exported by default.
With interval2prefix(), the endpoints of the interval must be the same length (same number of digits in the particular number base) for the results to make any sense.
interval2regex() only does base 10.
Please report issues via CPAN RT:
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Algorithm-Interval2Prefix
or by sending mail to
bug-Algorithm-Interval2Prefix@rt.cpan.org
Lars Thegler <lars@thegler.dk>
Copyright (c) 2003 Lars Thegler. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Algorithm::Interval2Prefix, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Algorithm::Interval2Prefix
CPAN shell
perl -MCPAN -e shell install Algorithm::Interval2Prefix
For more information on module installation, please visit the detailed CPAN module installation guide.