Pregunta

Si tengo esta aplicación Perl:

print `someshellscript.sh`;

que imprime montón de cosas y tarda mucho tiempo en completarse, ¿cómo puedo imprimir que la producción en el medio de la ejecución del script de shell?

Parece que Perl sólo imprimir el resultado someshellscript.sh cuando se complete, ¿hay una manera de hacer ras de salida en el medio de ejecución?

¿Fue útil?

Solución

Lo que usted probablemente querrá hacer es algo como esto:

open(F, "someshellscript.sh|");
while (<F>) {
    print;
}
close(F);

Esto funciona someshellscript.sh y abre un tubo que lee su salida. El bucle while lee cada línea de salida generada por el guión y lo imprime. Vea la abrir la página de documentación para más información.

Otros consejos

El problema aquí es que escapar con acentos abiertos almacena la secuencia de comandos en una cadena, que luego se imprime. Por esta razón, no habría manera de "limpiar" con la impresión.

El uso del comando () del sistema debe imprimir la salida continua, pero usted no será capaz de capturar la salida:

system "someshellscript.sh";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top