He encontrado una variedad de información sobre el autoflushing en Perl, pero no puedo encontrar ninguna mención de una línea formateada exactamente como esta:
STDOUT->autoflush(1);
Esto está incluido en un programa que estoy analizando, y quiero entender mejor lo que hace. También hay esto al comienzo del programa:
use IO::Handle;
... que creo que podría estar relacionado, pero tampoco menciona este método en su documentación.
Respuestas
3 para la respuesta № 1El método es listado en IO :: Mango que notaste
... $io->autoflush ( [BOOL] ) $| ...
por lo cual $|
está configurado / desarmado, y te envía a $|
en perlvar para explicación
Si se establece en un valor distinto de cero, fuerza un lavado de inmediato y después de cada escritura o impresión en el canal de salida seleccionado actualmente.
A partir de v5.14 no tienes que use IO::Handle
para esto como IO :: Archivo es require
d cuando sea necesario.
Este método es especial, ya que activa el enjuague automático incluso sin el valor proporcionado,
$io->autoflush; # turned on ($| gets set)
mientras que otros relacionados (ver documentos) no cambian el valor actual cuando se llama sin argumento.