in reply to breaking a line on printing
You can do any of these:
# using a heredoc print <<TEXT; Once upon a time there was a little programmer that asked to many ques +tions. Today his question was realy a stupd one. and so on and on... TEXT # using literal newlines in the text print 'Once upon a time there was a little programmer that asked to ma +ny questions. Today his question was realy a stupd one. and so on and on... '; # using the comma operator print "Once upon a time there was a little programmer that asked to ma +ny questions.\n", "Today his question was realy a stupd one\n", "and so on and on...\n"; # using the concatenation operator print "Once upon a time there was a little programmer that asked to ma +ny questions.\n" . "Today his question was realy a stupd one\n" . "and so on and on...\n"; # using a custom sub. declare prototype so we can use it as # a bareword. We use ^\n to mark our line wraps and remove # the leading whitespace on the next line. We use a regex # to remove these and presto..... sub wrap; print wrap "Once upon a time there was a little programmer ^ that asked to many questions.\nToday his question ^ was realy a stupd one\nand so on and on...\n"; sub wrap { $text = shift; $text =~ s/\^\n\s*//g; return $text; }
You can even define your own custom print function that does the (un)wrap bit for you:
sub printw; $interpolate = "Interpolate this\n"; $comma = "We can use the comma operator\n"; @ary = qw (this_ is_ an_ array); printw "Once upon a time there was a little programmer ^ that asked to many questions.\nToday his question ^ was realy a stupd one\nand so on and on...\n^ $interpolate^ ", $comma, @ary; sub printw { my @text = @_; s/\^\n\s*//g, print for @text; }
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
|
|---|