Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: How to build a better mousetrap (or a variable to hold a column-measuring scale)

by atcroft (Abbot)
on Sep 09, 2019 at 21:20 UTC ( [id://11105913]=note: print w/replies, xml ) Need Help??


in reply to How to build a better mousetrap (or a variable to hold a column-measuring scale)

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.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11105913]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (5)
As of 2024-03-28 13:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found