2010-08-18 64 views

回答

15

使用-t filetest operator

print -t STDOUT ? "Yes\n" : "No\n" 

注意,在Perl,STDOUT可以绑(基本上是过于复杂的过载对象),以便输出到STDOUT仍可达到TTY即使其不直接连接到一个。

+1

IO :: Interactive显示您可能也要考虑的特殊情况。 – 2010-08-19 12:36:01

+0

如何在地球上这个答案的得分是+5,而另一个(更早!)的帖子与*完全相同的答案有-1分? – EMP 2010-09-02 00:24:32

+0

@Evgeny那个答案最初是'print -t 1? “是\ n”:“否\ n”'。不必要的使用文件没有购买它downvotes。 – Schwern 2010-09-02 01:35:54

7

如果你需要STDOUT实际连接到终端,而不是只是被重定向到/dev/null/或其他什么,使用IO::interactive