http://www.perlmonks.org?node_id=69266


in reply to ASCII Rulers

A couple of minor golfish things, without really changing the algorithm:
sub ruler { my $n = 9 + shift; chop $n; join "", " ", map(" "x(9-/../).$_, 1..$n), "\n", "0123456789" x $n, "0\n" }
But for filling exactly to (arg) columns (eg, to avoid wrapping when using $ENV{COLUMNS}):
sub ruler { my $n = shift; join"", " ", map(" "x(9-/../).$_, 1..$n/10), "\n", map(/.$/g, 0..$n), "\n" }
update: or (of course) ye olde one-liner:perl -lwe 'print" ",map(" "x(9-/../).$_,1..$ARGV[0]/10),"\n",map/.$/g,0..shift' further update: chipmunk got it.  He's almost using printf as a map!

p