My current way of generating such an on-screen ruler is that I display position digits for the 100s, 10s, and 1s places vertically on (n % 5) except for the 1s place, where I display a pipe ('|') on (n % 10), a plus ('+') on (n % 5), or the value of (n % 10) otherwise. (Whitespace added to improve readability in <code> segment.)
perl -le '
my $n = shift @ARGV; $n = 80 unless ( defined $n ); my @place; foreach
+ my $i ( 1 .. $n ) { $place[2] .= ( ( $i >= 100 and ! ($i % 5) ) ?
+int( $i / 100 ) % 10 : q{ } ); $place[1] .= ( ( $i >= 10 and ! ( $i %
+ 5 ) ) ? int( $i / 10 ) % 10 : q{ } ); $place[0] .= ( ! ( $i % 10 ) ?
+ q{|} : ( ! ( $i % 5 ) ? q{+} : $i % 10 ) ); } foreach my $s (
+ reverse @place ) { print $s; }' 60
And example output (for width 60):
1 1 2 2 3 3 4 4 5 5 6
1234+6789|1234+6789|1234+6789|1234+6789|1234+6789|1234+6789|
Hope that helps.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|