in reply to Re: eliding number ranges
in thread eliding number ranges

Have you tried it with
__DATA__ 28 31 199 201
? To get it to really work, I had to add a loop:
sub elide { my ($start,$end) = @_; if ($end < $start) { ($start, $end) = ($end, $star +t) } elsif ($start == $end) { return $start } if (length($end) > length($start)) { return "$start-$end" } else { my $pow = 1; $pow *= 10 while int($end/$pow) > int($start/$pow); $end %= $pow; } return "$start-$end"; }