in reply to Re: Converting a list of numbers to use a range operator
in thread [Solved] Converting a list of numbers to use a range operator

Yes!! Set::IntSpan, I knew I'd seen something like that but couldn't remember what it was called!

my @array = (2,3,4,10,11,12); my $set = new Set::IntSpan join(',', @array); my $list = $set->run_list; # $list is now "2-4,10-12"
Now this... this is not ugly :-)

-- Time flies when you don't know what you're doing

Replies are listed 'Best First'.
Re^3: Converting a list of numbers to use a range operator
by 2teez (Vicar) on Mar 24, 2013 at 08:11 UTC

    I even love the way Parse::Range does it.
    Putting your original $list in the function parse_range prints out beautifully like so:

    use warnings; use strict; use Parse::Range qw(parse_range); my $list = "2-4,10-12"; print join ','=> parse_range($list); # 2,3,4,10,11,12

    If you tell me, I'll forget.
    If you show me, I'll remember.
    if you involve me, I'll understand.
    --- Author unknown to me