2010-08-18 60 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