Mathew Snyder wrote: > > Question regarding the text formatting modules out there. I've found three on > CPAN that seem to have the functionality that I'm looking for but I don't know > which would best suit my needs. The three are Text::Format, Text::Wrapper and > Text::Autoformat. > > I have a script which populates and email with data that gets laid out in the > following manner: > > customer_name > Ticket ID Subject hh:mm > ----------------------------------------------------------------- > ###### Random Ticket Subject Line ##:## > > However, the subject length is not a constant. It can be quite short (maybe a > few characters long) to much longer than the alloted space I've given using > 'printf'. So, I'd like to be able to do things like wrap the text at a > certain > length so that it might look something like this: > > customer_name > Ticket ID Subject hh:mm > ----------------------------------------------------------------- > ###### Random Ticket Subject Line Which Might End Up ##:## > Longer Than The Allocated Space Using printf > ###### Next Random Ticket Subject Line ##:## > > Of the three formatting options I've found, which might be my best bet to > handle > something of this nature. Also, after deciding which is the better option, > how > would I go about printing the data out? Can I populate variables with > pre-formatted text or would I perhaps do something with a printf command that > uses a call to one of the formatting methods? > > Any help would be appreciated.
$ perl -e' my $customer_name = "customer_name"; my @records = ( [ 1234, "Random Ticket Subject Line Which Might End Up Longer Than The Allocated Space Using printf", "12:50" ], [ 1235, "Next Random Ticket Subject Line", "12:53" ], ); my ( $ticket, $subject, $time ); format STDOUT_TOP = @<<<<<<<<<<<<<< $customer_name Ticket ID Subject hh:mm ----------------------------------------------------------------- . format STDOUT = @##### ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @>>>> $ticket, $subject, $time ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $subject . for my $record ( @records ) { ( $ticket, $subject, $time ) = @$record; write; } ' customer_name Ticket ID Subject hh:mm ----------------------------------------------------------------- 1234 Random Ticket Subject Line Which Might End Up 12:50 Longer Than The Allocated Space Using printf 1235 Next Random Ticket Subject Line 12:53 John -- Perl isn't a toolbox, but a small machine shop where you can special-order certain sorts of tools at low cost and in short order. -- Larry Wall -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/