In the ten years I've been using Perl, I've never used Perl formats. Maybe this is my last chance before they are moved out of the core?

Here is my situation.

sub listing_out # override this for your desired output format { my ($self, $output, $starting, $count, $file, $line, $text)= @_; # I guess I really should learn something about the old formatting st +uff! print {$output} "[$starting] "; foreach my $i (0..$count) { print {$output} " $self->{PROGRAM}[$starting+$i]"; } print {$output} "\t$text\n"; }
I have three columns of output in what's essentially an assembler listing, showing the address, the codes generated starting at that address, and the original source code text.

The middle column can be of varing length, depending on how much was on that source line and of what complexity. But I want the text listing to line up with itself, starting at some fixed column.

If the middle column is longer than planned, wrap it onto multiple lines.

So, this sounds like a job for format I thought!

I start reading about write and it mentions the current format attached to the file handle but that it can be selected. I then turn to perlform and the first thing it says is that format takes a NAME.

Well, I immediatly see a mismatch between this classic stuff and modern programming. My function takes a parameter for an output handle, and it might not even be a named HANDLE thing.

Is perl formats the way to go here, or should I just leave it in the past? What should I use?

—John


In reply to To format or not? by John M. Dlugosz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.