#!/usr/bin/perl -l # https://www.perlmonks.org/?node_id=11105908 use strict; use warnings; my $len = $ARGV[0]; my $new = '----+----|'; $_ = $new x $len; my $i = 0; my $ii; s/ \| (??{ $i += 10; $ii = $i =~ s!.*(?=[^0])!!r; quotemeta '-' x ( -1 + length $ii ); }) / $ii /gex; s/./|/; print; #### |---+----10---+----20---+----30---+----40---+----50---+----60---+----70---+----80---+----90---+----100--+----10---+----20---+----30---+----40---+----50---+----60---+----70---+----80---+----90---+----200--+----10---+----20---+----| #### #!/usr/bin/perl -l # https://www.perlmonks.org/?node_id=11105908 use strict; use warnings; my $len = $ARGV[0]; my $new = '----+----0'; $_ = $new x $len; my $i = 0; my $space = '-' x 4; my $space_quotemeta = quotemeta $space; s/ $space_quotemeta (?= 0 ) / $i ++; my $ii = $i =~ s!.*(?=[^0])!!r; $space =~ s! (??{ quotemeta '-' x length $ii }) $ !$ii!xr; /gex; s/./|/; print; #### |---+---10----+---20----+---30----+---40----+---50----+---60----+---70----+---80----+---90----+--100----+---10----+---20----+---30----+---40----+---50----+---60----+---70----+---80----+---90----+--200----+---10----+---20----+---30