use Set::IntSpan; my $span = Set::IntSpan->new('1,3-5,7-10,15'); print join "\n" => $span->elements();