use Time::HiRes "sleep"; use List::Util qw"min max"; for (0 .. 19) { print "\n" x 4; my $r = sub { 1 + int(min(rand($_[0]), rand($_[0]-1))) }; my($m, $n) = (&$r(7), &$r(7)); my $p = rand(2*pie); for my $_c (1 .. 100) { liss $m, $n, $p; sleep 0.03; $p += 0.4 / (3 + max($m, $n)); } sleep 0.5; }