use POSIX 'ceil';
sub tape_label {
my $len = shift() + 1; ## simpler since we'll start at 0
my @cols;
my $n_cols = ceil( log($len) / log(10) );
for my $log (0 .. $n_cols-1) {
my $pad = 10**$log - 1;
my $pattern = join( " " x $pad, 0 .. 9, "" );
unshift @cols, substr( $pattern x ceil($len/10**$log), 0, $len );
}
return @cols;
}
####
use POSIX 'ceil';
sub tape_label {
my $len = 5 * ceil(shift() / 5);
my $l1 = join "", map { sprintf "%-10s", $_*10 } 0 .. ($len/10);
my $l2 = "|" . ("....|" x ($len/5));
return "$l1\n$l2\n";
}
##
##
0 10 20 30 40 50
|....|....|....|....|....|....|....|....|....|....|