给定一个程序实用程序从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";
通过“工作”,我的意思是perl脚本在命令列表中启动实用程序,管道,等待实用程序退出,然后返回结果。
但为什么会这样呢?反引号如何知道调用程序,然后在HERE文档中输入管道?我对perl实现很幸运,还是这种标准行为?
答案 0 :(得分:5)
这是shell的here-doc,而不是Perl的。尝试在shell中运行:
% cat <<EOF
some
thing
EOF