steveh44 has asked for the wisdom of the Perl Monks concerning the following question:
I am learning perl (newbie). I noticed when I make a HERE DOCUMENT inside a sub, and print it in the main when the sub returns, it contains an extra blank line at the end. I need a way to get rid of this extra line and understand why it gets added. Here is an example
#!/usr/bin/perl -w use strict; use warnings; sub foo{ my $code = shift; <<"END_MSG"; Add the code $code END_MSG } my $code=<<'END_MSG'; line 1 line2 END_MSG print "before calling\n"; print $code; print "after calling\n"; print foo($code); print "why blank line above?\n";
When I run the above using perl t.pl, I get this output on the screen
perl t2.pl before calling line 1 line2 after calling Add the code line 1 line2 why blank line above?
Any idea what I am doing wrong?
perl>perl -v This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-li +nux-gnu-thread-multi (with 41 registered patches, see perl -V for more detail)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: how to prevent new line added in HERE document
by morgon (Priest) on Jun 02, 2016 at 23:08 UTC | |
|
Re: how to prevent new line added in HERE document
by GrandFather (Saint) on Jun 02, 2016 at 23:02 UTC | |
|
Re: how to prevent new line added in HERE document
by LanX (Saint) on Jun 02, 2016 at 22:53 UTC | |
|
Re: how to prevent new line added in HERE document
by Cristoforo (Curate) on Jun 02, 2016 at 22:59 UTC |