• Publicidad

Obteniendo STDOUT

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Obteniendo STDOUT

Notapor primitivo » 2013-07-11 17:03 @752

Hola amigos, un saludo.

El día de hoy, les quiero preguntar lo siguiente.

Si yo ejecuto...
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.  
  2. system(qq(./crypter/cifranick "$valor[1]" "$valor[2]"));
  3.  
  4.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


¿Puedo obtener la salida del programa 'cifranick'?

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. # Usando
  2.  
  3. <STDOUT>; # ¿Es posible?
  4.  
  5.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
primitivo
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2013-03-22 23:05 @004

Publicidad

Re: Obteniendo STDOUT

Notapor explorer » 2013-07-11 19:12 @842

No, lo que hace system() es ejecutar un comando, esperar a que termine, y continuar, devolviendo al programa Perl el código de estado que devolvió la ejecución del comando. No la salida del comando. Perl no puede capturar la salida del comando porque ya terminó su ejecución cuando system() regresa.

Lo que quieres es capturar la salida del programa. Eso lo puedes hacer de varias maneras.
  • grabando el resultado en un archivo temporal, y luego leyéndolo desde Perl:
    Sintáxis: [ Descargar ] [ Ocultar ]
    Using perl Syntax Highlighting
    system(qq(./crypter/cifranick "$valor[1]" "$valor[2]" > temp.txt));
    Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
  • con la ayuda de open(), como viste en otro hilo
  • usando las comillas invertidas o el operador qx():
    Sintáxis: [ Descargar ] [ Ocultar ]
    Using perl Syntax Highlighting
    my $resultado = qx(./crypter/cifranick "$valor[1]" "$valor[2]");
    Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Obteniendo STDOUT

Notapor primitivo » 2013-07-11 20:30 @896

Gracias explorer, te agradezco infinitamente.
primitivo
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2013-03-22 23:05 @004


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 47 invitados

cron