Busco el Perl equivalente a este código Python:¿Cómo puedo detectar si stdout está conectado a un tty en Perl?
from sys import stdout
if stdout.isatty():
print "yes"
else:
print "no"
Busco el Perl equivalente a este código Python:¿Cómo puedo detectar si stdout está conectado a un tty en Perl?
from sys import stdout
if stdout.isatty():
print "yes"
else:
print "no"
Utilice la -t filetest operator.
print -t STDOUT ? "Yes\n" : "No\n"
Nótese que en Perl, STDOUT puede ser atado (esencialmente un objeto sobrecargado demasiado complicado), de modo salida a stdout todavía puede alcanzar un TTY incluso si no es unido directamente a uno.
Utilice IO::interactive si necesita que STDOUT se conecte realmente al terminal y no solo se lo redirija a /dev/null/
o lo que sea.
IO :: Interactive muestra los casos especiales que es posible que desee considerar también. –
¿Cómo de qué manera esta respuesta tiene un puntaje de +5, mientras que otra (anterior) con * exactamente * la misma respuesta tiene un puntaje de -1? – EMP
@Evgeny Esa respuesta fue originalmente 'print -t 1? "sí \ n": "no \ n" '. El uso innecesario de un fileno lo compró downvotes. – Schwern