我正在寻找与此 Python 代码等效的 Perl:
from sys import stdout
if stdout.isatty():
print "yes"
else:
print "no"
使用-t 文件测试运算符。
print -t STDOUT ? "Yes\n" : "No\n"
请注意,在 Perl 中,STDOUT 可以绑定(本质上是一个过于复杂的重载对象),因此到 STDOUT 的输出可能仍会到达一个 TTY,即使它没有直接连接到一个 TTY。
如果您需要 STDOUT 实际连接到终端,而不仅仅是被重定向到或其他什么,请使用IO::interactive 。/dev/null/