How about something like:
#!/usr/bin/perl
use strict;
use warnings;
my $len = $ARGV[0];
my $cur = 10;
print "|---+----";
while ($cur < $len) {
my $prn = $cur % 100 ? $cur % 100 : $cur;
my $sep = substr "|----+----", length($prn);
print $prn, $sep;
$cur += 10;
}
print "|\n";
No hardcoded numbers at all. Call it with prog.pl <length>:
~/tmp$ perl ruler.pl 50
|---+----10---+----20---+----30---+----40---+----|
~/tmp$ perl ruler.pl 140
|---+----10---+----20---+----30---+----40---+----50---+----60---+----70---+----80---+----90---+----100--+----10---+----20---+----30---+----|