Pandey Rajeev-A19514 wrote:

> Hi,
>
> I was interested in formatted display on screen.
>
> I can display ONE text paragraph in any part of the screen with Text::wrap. My 
> question was how to adjust MANY such independent paragraphs in one screen (exactly 
> in a newspaper format where you have 8-10 columns of news items on a single page).
>
> I wanted to know is there something like Text::wrap which can do this. Or Text::wrap 
> can handle only one paragraph. If nothing like that exists then I might have to give 
> up Text::wrap and use my own logic to adjust it.
>
> Moreover, I also wanted to use Term::Size to adjust the text with changing screen 
> size.
>
> Is there any convenient way to do this ? I was looking for readymade stuff.
> Please suggest.
>
> Regards
> Rajeev
>
> -----Original Message-----
> From: Tom Kinzer [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, December 10, 2003 12:05 PM
> To: [EMAIL PROTECTED]
> Subject: RE: Help needed on perl wrappers
>
> I'm trying to figure out WHY you would ever want to create what you are
> asking for.  Why-- is a good question here, because there may be a way to
> get to the real goal instead of creating this.  For instance if it's just
> going into an HTML document, a table of course, would be easier.  Just an
> example, so WHY are you wanting to do this?
>
> If this is really want you want, then: Do you really want a ragged left on
> the right column?  Do you really want to use tabs?  I'm thinking spaces
> would be easier to deal with for this problem and could buy you a justified
> left margin on the right column.
>
> More info please.
>
> -Tom Kinzer
>
> -----Original Message-----
> From: Pandey Rajeev-A19514 [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, December 09, 2003 8:16 PM
> To: '[EMAIL PROTECTED]'
> Subject: Help needed on perl wrappers
>
> Hi,
>
> I have a text that I read from a file. I want to display the text on the
> screen in a column in a newspaper style.
> I do it like this....
>
> $initial_tab = "\t\t";
> $subsequent_tab = "\t\t";
> print wrap($initial_tab, $subsequent_tab, @text1);
> print fill($initial_tab, $subsequent_tab, @text1);
>
> It will print like this ...
>         I am a boy and I go to school
>         everyday. I have to do a lot of
>         homework and I dont get time
>         to play these days.
>
> But if I have more than one independent text i.e. @text2, @text3 to be
> displayed in different columns, then what shall i do.
> I want something like this ...
>
>         I am a boy and I go to school                She is a girl and she
> also goes
>         everyday. I have to do a lot of                to school. I do all
> her homework
>         homework and I dont get time               and she gets plenty of
> time to
>         to play these days                               play.
>
> Is there any mechanism to achieve this ?
>
> Best Regards
> Rajeev

Hi  Rajeev,

What you are asking for does seem a little bit funky.  Please be aware that this type 
of formatting works only on even-width screens.  Tabs are also very importable, since 
different applications may render them in different ways.

That being said, I can see two routes:

1.  Perl does provide formats
perldoc -f format
that can help align your output for even-width renderings.

2. Try the printf and sprintf functions.  Once you get accustomed to the syntax 
[inherited from C] of their format strings and escapes, you may find them very handy.  
You can specify the width, alignment, and space or zero-padding, of you output
very succinctly using these functions:
perldoc -f printf
perldoc -f sprintf

Overall, I might recommend using or generating HTML for a job like this.  This is the 
sort of work that markup was built for.

Joseph


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to