c:\@Work\Perl\monks>perl -wMstrict -le "my @things = qw( zero one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen ); ;; use constant COLS => 3; use constant FMT => '%10s ' x COLS; ;; for my $max (0 .. $#things) { my @stuff = @things[0 .. $max]; my $k = @stuff / COLS; $k = int($k + 1) if int($k) != $k; ;; my @rows; $rows[$_ % $k][$_ / $k] = $stuff[$_] for 0 .. $#stuff; ;; for my $ar_row (@rows) { printf qq{${ \FMT }\n}, @$ar_row, ('') x COLS; } print '--------------'; } "