我有一系列数字:
@numbers = 1,2,3,6,8,9,11,12,13,14,15,20
Run Code Online (Sandbox Code Playgroud)
我想以这种方式打印它:
1-3,6,8-9,11-15,20
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?当然我尝试使用最常见的"循环",但仍然没有得到它.
cjm*_*cjm 12
你可以使用Set :: IntSpan :: Fast:
use Set::IntSpan::Fast;
my @numbers = (1,2,3,6,8,9,11,12,13,14,15,20);
my $set = Set::IntSpan::Fast->new;
$set->add(@numbers);
print $set->as_string, "\n";
Run Code Online (Sandbox Code Playgroud)