sub bench_randomx () {     # ALLE VERFAHREN     my $targetcount = 400;     # Anzahl der Elemente, die "ausgewählt" werden müssen          # 2. VARIANTE     my $targetlimit = 10;    # max. Anzahl gleichzeitig auswählbarer Elemente     my @cache =();            # cache der Zufallszahlen     my $cached    = 0;          &println ("Teste auf $targetcount rand()/cachedrand Elemente,");         Benchmark::cmpthese(-1, {             # Ziel ist es beides Mal, 150 Elemente vorzunehmen         'random WHILE (1b)'   => sub {                  my $i=0;                  while ($targetcount >$i) {                      int(rand($targetlimit)); 1;                      $i++;                  }             },         ' cachedrand (2)'       => sub {                  if (!$cached) {                      print "initcache";                      my $i=0;                      while ($targetlimit >$i) {                          push (@cache,int(rand($targetlimit)));                          $i++;                      }                          $cached=1;                  }                  my $targeting = 0;                  my $tcount = $targetcount;                  while ($tcount>0) {                      $cache[$targeting];                      1;                      if (++$targeting== $targetlimit) { $targeting=0;}                      $tcount--;                  }             },         }     );     &println ("\nReihenfolge der Elemente in (2):");     &println (join(",",@cache)); }