In the below piece of code, the newlines between the lines of the poems ( $cookie ) are ignored. How do I get the format to preserve them ? Is there any way to get the desired output without having to eval the format ?
#!/bin/env perl -w
use strict;
my $cookie="Climb the mountains\nand get their good tidings.\nNature's
+ peace will flow into you\nas sunshine flows into trees.\n";
my $author="-John Muir\n";
$: = "- ";
format STDOUT =
@|||||||||||||||||||||||||||||||||||||||||||||||||
"------------------------------------------------"
~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$cookie
@||||||||||||||||||||||||||||||||||||||||||||
$author
@|||||||||||||||||||||||||||||||||||||||||||||||||
"------------------------------------------------"
.
write STDOUT;
The $: line is in there because perldoc says that it controls the characters on which format is allowed to split the line. However, it doesn't seem to prevent newlines being ignored if the lines in question are smaller than what the format will allow in a single line.
In the below fragment, the output comes out like this --
------------------------------------------------
Climb the mountains and get their good tidings.
Nature's peace will flow into you as sunshine
flows into trees.
-John Muir
------------------------------------------------
I would like it to be this --
------------------------------------------------
Climb the mountains
and get their good tidings.
Nature's peace will flow into you
as sunshine flows into trees.
-John Muir
------------------------------------------------
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|