in reply to Shell v Perl, here-doc as stdin

I am not sure what you are asking exactly but here are a few possibilities.

As mentioned the here-document syntax is supported inside perl programs for data.

If you are wanting to send some input to 'system_command' then this could look really similar to a shell.

open FH, "|system_command"; print FH <<EOF EOF

The | in front of the command tells perl to send anything printed onto that filehandle along to the program. Also if you have a newer perl you can use the 3 element open and lexical filehandles so the open could look more like:

open my $fh, "|-", "system_command";

Of course, in perl, TIMTOWTDI, so you can also have a variable with content to be passed along.

open FH, "|system_command"; my $stuff="some things to pass along to system command\n"; print FH $stuff;

A perl script can be passed input via a here-doc from the shell just like any other command can recieve this data.

I hope one of these addresses the question that you had.