note
jlp
This is what I eventually ended up with:
<br><code>
my @s = (1..168);
my @q;
{ $a=rand(@s);push(@q, $s[$a]); splice(@s, $a, 1); @s && redo }
print join(" ", splice(@q, 0, 12)) . "\n" for (1..14);
</code><br>
kudos to [mikfire] for reminding me about the return value of [splice].
<br><br>
Update: my [splice] was off by 1. whoops
55398
55398