How do I detect if stdout is connected to a tty in Perl?
问题 I'm looking for the Perl equivalent to this Python code: from sys import stdout if stdout.isatty(): print "yes" else: print "no" 回答1: 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. 回答2: Use IO::interactive if you require STDOUT to actually be connected to the terminal, and not just being redirected to