2

给定一个程序实用程序,它从标准输入获取命令并返回有用的退出代码,这个 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";

“工作”是指 perl 脚本启动实用程序,在命令列表中输入管道,等待实用程序退出,然后返回结果。

但为什么它会起作用?backtick 如何知道调用程序,然后在 HERE 文档中输入管道?我对我的 perl 实现很幸运,还是这是标准行为?

4

1 回答 1

5

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

% cat <<EOF
some
thing
EOF
于 2011-04-08T19:15:56.130 回答