my %seen; my @array = grep !$seen{$_}++, sort { $a <=> $b } map { /^(\d+)\.\.(\d+)$/ ? $1..$2 : $_ } split /,/, $seq;