in reply to Uniformly Populating an Array with Elements of Another Array

The standard line-draw algorithm (as far as I can remember) can be used here:
my @elems = ("x", "y", "z"); # array size may be varied (lesser or more than 3) my @tobepopulated = ("foo", "foo", "foo", "foo", "foo", "foo", "foo", ++"foo", "foo", "foo"); # this can be more 10 elements my $m= 2 * scalar @tobepopulated; my $d= 2 * scalar @elems; die "too few elements to be populated" unless $m >= $d; my $i= 0; my $n= $d/2; foreach (@tobepopulated) { $_.= '-' . $elems[$i]; $n+= $d; if ( $n > $m ) { $n-= $m; ++$i; } } print join "\n",@tobepopulated,'';

s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
+.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e