our $max = 12;
our $width = length($max**2) + 1;

printf "%*s", $width, $_ foreach 'x|', 1..$max;
print "\n", '-' x ($width - 1), '+', '-' x ($max*$width), "\n";
foreach my $i (1..$max) { 
	printf "%*s", $width, $_
            foreach "$i|", map { $_ >= $i and $_*$i } 1..$max;
	print "\n";
}