Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Format question

by Anonymous Monk
on Jan 26, 2002 at 05:11 UTC ( #141705=perlquestion: print w/ replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

The code below works great for me, but I would like to format the output of $list. so that it is lined up correctly in the textarea. Can I use a format command and how would that look?
my @arrinstr=(); my $list=""; while (@arrinstr = $sth4->fetchrow) { ($sec,$title,$seats)=@arrinstr; $csec=$sec; $ctitle=$title; $cdes=$seats; $list.="$csec,$ctitle,$cdes\n"; } print $query->textarea ({-name=>'INFO',-default=>$list,-cols=>'75',-ro +ws=>'5'});
Thanks,
Douglas
brantzdr@appstate.edu

Edited 2002-01-25 by Ovid

Comment on Format question
Download Code
Re: Format question
by ZZamboni (Curate) on Jan 26, 2002 at 05:32 UTC
    You could use sprintf:
    $list=sprintf("%-10s %-30s %d\n", $sec, $title, $seats);
    Of course, you would need to adjust the widths of the fields according to the expected maximum lengths of the data. You should also use appropriate format types (I assumed here that $secv and $title are strings, and $seats is an integer. Different format specifiers may output the same values in different form).

    Side question: why do you copy $sec, $title and $seats to different variables? Unless you are doing something else that your snippet didn't show, it doesn't make much sense.

    --ZZamboni

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://141705]
Approved by root
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (7)
As of 2015-07-06 22:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (84 votes), past polls