• Publicidad

Recibir y enviar parámetros desde PHP a Perl

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Recibir y enviar parámetros desde PHP a Perl

Notapor irwinvalera » 2012-02-10 11:10 @507

Buen día a todos. Es mi segundo mensaje y necesito de su ayuda, he revisado varios post acerca de enviar parámetros a Perl desde PHP y cómo ejecutarlo y hasta allí todo normal, sin ningún problema. El detalle viene a ser ¿cómo recibo los parámetros enviados desde PHP? Creo que hasta ahora nadie ha hablado de eso o soy tan ciego que no lo vi. Les agradezco inmensamente su respuesta. Mis códigos son:

En PHP
Sintáxis: [ Descargar ] [ Ocultar ]
Using php Syntax Highlighting
  1. $ruta = "./ruta.pl";
  2. system ("$ruta $cod_ip", $salida);
  3. print_r($salida);
  4.  
Coloreado en 0.019 segundos, usando GeSHi 1.0.8.4


En Perl
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. Esto es lo que necesito.
  2.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
irwinvalera
Perlero nuevo
Perlero nuevo
 
Mensajes: 11
Registrado: 2012-02-03 15:52 @702

Publicidad

Re: Recibir y enviar parámetros desde PHP a Perl

Notapor explorer » 2012-02-10 11:22 @515

Sí que hay hilos que hablan del intercambio de información entre PHP y Perl (no PERL), en los dos sentidos. Solo hay que buscar un poco más :)
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: Recibir y enviar parámetros desde PHP a Perl

Notapor irwinvalera » 2012-02-10 11:24 @517

¡Me auto-respondo! Ya solucioné el problema :D Fue fácil en realidad. Les dejo el código para que alguien lo pueda usar.

En PHP:
Sintáxis: [ Descargar ] [ Ocultar ]
Using php Syntax Highlighting
  1. $ruta = "./ruta.pl";
  2. system ("$ruta $var1 $var2 $var3", $salida);
  3.  
Coloreado en 0.009 segundos, usando GeSHi 1.0.8.4


En Perl:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #! /usr/bin/perl
  2. #Cada variable será recibida en el orden que fue enviada.
  3. print @ARGV[0] . " - " . @ARGV[1] . " - " . @ARGV[2];
  4.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Un sencillo ejemplo de como usar PHP y Perl enviando y recibiendo parámetros e imprimiéndoles =)
irwinvalera
Perlero nuevo
Perlero nuevo
 
Mensajes: 11
Registrado: 2012-02-03 15:52 @702

Re: Recibir y enviar parámetros desde PHP a Perl

Notapor explorer » 2012-02-10 11:56 @539

Es un error muy común, de la gente que empieza, escribir cosas como

@ARGV[0]

cuando, realmente, se debe escribir así:

$ARGV[0]

El símbolo que hay delante de la variable (el sigilo), indica qué queremos obtener de la variable.
Si es un '$' estamos indicando que solo queremos un escalar.
Si ponemos un '@' indicamos que queremos una lista de escalares.
Y esto es independiente de que @ARGV sea un array o no (incluso podría ser un hash. Más información en perldoc perldata).

Así que entonces, tu programa queda mejor así:

print $ARGV[0] . " - " . $ARGV[1] . " - " . $ARGV[2];

Aunque quedaría más corto así:

print join ' - ', @ARGV;

y así ya no dependes del número de argumentos (incluso si es uno solo).

Aún más... quedaría perfecto si no tuvieras la necesidad de usar PHP :)
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: Recibir y enviar parámetros desde PHP a Perl

Notapor irwinvalera » 2012-02-10 12:21 @556

Tú si que eres un gurú en esto, explorer. Yo recién empiezo. Bueno, se usa Perl y PHP por un tema muy amplio en realidad. En fin... Muy buena la respuesta. Lo haré como me dices =) ¡Gracias!
irwinvalera
Perlero nuevo
Perlero nuevo
 
Mensajes: 11
Registrado: 2012-02-03 15:52 @702


Volver a Intermedio

¿Quién está conectado?

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