开发者

How do I detect if stdout is connected to a tty in Perl?

开发者 https://www.devze.com 2023-01-12 08:34 出处:网络
I\'m looking for开发者_运维问答 the Perl equivalent to this Python code: from sys import stdout

I'm looking for开发者_运维问答 the Perl equivalent to this Python code:

from sys import stdout
if stdout.isatty():
    print "yes"
else:
    print "no"


Use the -t filetest operator.

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

Note that in Perl, STDOUT can be tied (essentially an overcomplicated overloaded object) so output to STDOUT may still reach a TTY even if its not directly attached to one.


Use IO::interactive if you require STDOUT to actually be connected to the terminal, and not just being redirected to /dev/null/ or whatever.

0

精彩评论

暂无评论...
验证码 换一张
取 消