perl:这里是反引号操作符内的文档

Tho*_*day 2 perl backticks

给定一个程序实用程序从stdin获取命令并返回一个有用的退出代码,这个perl语法有效:

my $result = `utility -switch1 -switch2 <<HERE
set ridin_round_the_world TRUE;
do this;
sign that;
try { 
   make some_girl; 
   return 0;
} 
except { 
   sleep --week;  
   exit 1;
}
HERE`;
print "result is $result\n";
Run Code Online (Sandbox Code Playgroud)

所谓"作品",我指的是perl脚本启动该实用程序,管道在命令列表,等到实用程序退出,并返回结果.

但为什么它有效呢?反引号如何知道调用程序,然后在HERE文档中输入管道?我对perl实现感到幸运,还是这种标准行为?

Dal*_*aen 5

这是shell的here-doc,而不是Perl的.尝试在shell中运行:

% cat <<EOF
some
thing
EOF
Run Code Online (Sandbox Code Playgroud)