Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hello Perl Monks,
I have a perl script that execute an external command ls -lR and then displaying this info on the web browser. However, the texts are displayed not in columns as when the command is executed on a terminal window. Even at the character level, the -.,: and a regular alpha characters are of different size. Is there any font that will display the (. - ; :) the same size as the (a b c etc.).
Thanks.

Replies are listed 'Best First'.
Re: Displaying text in columns
by wind (Priest) on Aug 10, 2007 at 02:11 UTC

    For a fixed width font, use Courier.

    For fixed formatting in an html page, use a <pre> tag.

    - Miller

      alternatively:
      -Andale Mono
      -Courier New
      -Monaco

      or even more to choose if you look at:
      http://www.cfcl.com/vlb/h/fontmono.html

      Gert
      Thanks, it works.
      Now my next question is if I have a file with 397 bytes and another with 1234565 bytes, obviously I need to add some spaces (& nbsp) to the line with 397 bytes so the size column lined up. What would be the PERL line to do this easily, let's say I need to pad it so that a total of 10 characters for this column.
        Play around with printf and sprintf, or split you data into columns and create html tables.
        $ perl use strict; use warnings; my @arr = qw ( 397 1234565 129837 12387621 21365 1 123123 ); printf("%010d\n", $_) for @arr; print("-" x 10 . "\n"); printf("%+10d\n", $_) for @arr; print("-" x 10 . "\n"); printf("%10s\n", $_) for @arr; print("-" x 10 . "\n"); printf("%-10s\n", $_) for @arr; __END__ 0000000397 0001234565 0000129837 0012387621 0000021365 0000000001 0000123123 ---------- +397 +1234565 +129837 +12387621 +21365 +1 +123123 ---------- 397 1234565 129837 12387621 21365 1 123123 ---------- 397 1234565 129837 12387621 21365 1 123123
        Now my next question is ..
        PS: Please create a new thread if you have additional questions. Thanks. DS.
        --
        Andreas