blob: dfdef93a3099ad1b3deb0787320a5a3fb2dad86e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/usr/bin/env perl
use strict;
use warnings;
my $limit=$ARGV[0]//11;
my $maxWidth=1+length $limit**2;
printRow("",[1..$limit],$maxWidth);
print "-" x (($limit+2)*$maxWidth),"\n";
for (1..$limit) {
my $i=$_;
my @row;
my $header=$_;
for (1..$limit) {
if ($_ >= $i) {
push @row, $i * $_;
}
else {
push @row, "";
}
}
printRow( $header,\@row, $maxWidth);
}
sub printRow {
my ($header,$data,$minWidth)=@_;
my $output="";
for (@$data) {
$output.=sprintf "%".$minWidth."s",$_;
}
printf "%".$minWidth."s|%s\n",$header,$output;
}
|