Here's another way, based on your code:
#!/usr/bin/perl
use strict;
use warnings;
###
sub datestamp(){
use POSIX;
return strftime("%D %r",localtime);
}
my $var_day = datestamp();
###
print <<HERE, datestamp(), <<SECOND;
Variable interpolation works - Instead of the literal
text seen here, this variable's value is printed.
>>$var_day<<
But how do you do "function" interpolation?
The next line prints itself literally, instead of
being substituted with the function's return value.
Is there some other way of writing this that does what I want?
HERE
here's some more text...
la la la
SECOND
print "done!";