# Sparen wir uns die Strukturdaten des Arrays und von 999.999 Skalaren # Vorschlag von topeg++, angeglichen. $bit_data-Initialisierung oben. strng => sub { my (@cache, $last, $v); for ( my $i = $start; $i <= $end; $i++ ) { $v = substr($str_data,$_,1); if ($v ne $last || $v eq '0') { push @cache, $v eq '1' ? 1 : -1 } else { $cache[-1] += $v } $last = $v; } },