sub match_range { my ($string, $start, $end, $length) = @_; my $range = join '', $start .. $end; return $range =~ /$string/ && $string =~ /^[$range]{$length}$/; }