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)
In reply to how to prevent new line added in HERE document by steveh44
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |