Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Print format not working (updated)

by AnomalousMonk (Archbishop)
on Oct 04, 2018 at 17:35 UTC ( [id://1223548]=note: print w/replies, xml ) Need Help??


in reply to Print format not working

@text_lines = <STDIN>; chomp($text_lines);

The statement  chomp($text_lines); chomp-s the (nonexistent) scalar  $text_lines not the  @text_lines array. Always

use warnings; use strict;
at the start of your scripts. (Update: Actually, it's not accurate to describe  $text_lines as "nonexistent": if strictures are not enabled (see strict), just referring to such a variable causes Perl to call it into existence. This is known as autovivification (see perlglossary), and such a scalar is initialized with a default value of undef. However, chomp-ing undef doesn't do very much, and the script never accesses  $text_lines anywhere else, so...)

$column = <STDIN>;

This leaves  $column un-chomp-ed.

say "$ruler" x $column;

Not sure what this is supposed to do.

rrrrr eeeeee tyyyyy

This is just one line.

c:\@Work\Perl\monks>perl -le "use 5.010; ;; use warnings; use strict; ;; say 'Please enter a few lines of text. Press ctrl-Z when finished'; my @text_lines = <STDIN>; chomp(@text_lines); ;; say 'Please enter the width of the column: '; my $column = <STDIN>; chomp $column; ;; my $ruler = '1234567890'; say $ruler x $column; ;; foreach (@text_lines) { printf qq{%${column}s\n}, $_; } " Please enter a few lines of text. Press ctrl-Z when finished xyzzy now is the time for all good men x foo bar ^Z Please enter the width of the column: 7 1234567890123456789012345678901234567890123456789012345678901234567890 xyzzy now is the time for all good men x foo bar
(Run under Windoze, so had to use ^Z instead of ^D.)

Update: Try
    printf qq{%*s\n}, $column, $_;
as an experiment (see * format specifier in sprintf specifier definitions).
(Update: Tried that? Ok, now try
    printf qq{%*.*s\n}, $column, $column, $_;
also.)


Give a man a fish:  <%-{-{-{-<

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1223548]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2024-04-16 09:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found