• Publicidad

Paso de resultados entre Perl y PHP

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

Paso de resultados entre Perl y PHP

Notapor basuko_2000 » 2006-11-08 19:19 @846

Hola a todos. Muy bueno este foro, lo he estado ojeando durante un par de horas y la verdad que está muy bien para iniciarse en esto de los CGI.

Tengo un par de dudas de las que necesito aclaración. Necesito realizar el equivalente de PHP
Código: Seleccionar todo
$miresultado=exec ($cadena)
en Perl, por lo tanto necesito ejecutar un script en Perl que realice esta ejecución y devuelva a mi PHP el resultado.

Código: Seleccionar todo
Documento PHP
$myresultado= llamada a Perl(pasándole una cadena de texto)

Script en Perl
Tomar esa cadena
realizar el equivalente a exec de Php y devolver el resultado.


Básicamente mi duda es como paso las variables de PHP a Perl y al revés y además si al llamar al script será posible que me devuelva el resultado directamente a la variable $myresultado (no se si me explico).

Bueno un saludo a todos y si me pueden echar una manita lo agradecería.

:roll: :roll: :roll: :roll: :roll:
basuko_2000
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-11-08 19:09 @840

Publicidad

Notapor explorer » 2006-11-08 21:09 @922

Se hace con system o exec, pero como necesitas un resultado devuelto, hay que usar las backticks o qx().
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

Notapor kidd » 2006-11-08 22:47 @991

Hola:

En el sitio hay un tutorial que te habla acerca de eso:
http://perlenespanol.com/tutoriales/fun ... _perl.html


Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor basuko_2000 » 2006-11-09 04:04 @211

voy a mirarlo a ver si me aclaro y os cuento , Gracias de antemano
basuko_2000
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-11-08 19:09 @840

Notapor basuko_2000 » 2006-11-09 04:19 @221

Hola de nuevo, he estado visionado un poco y más o menos tengo pocas cosas claras.


El tema de las comillas esta claro,

---------Script Perl----------------

#!/usr/bin/perl

my $resultado = `cadena_ejecucion`;


//Siendo cadena de ejecucion la ruta absoluta con los parametros para ejecutar un archivocompilado en C del servidor.
---------------fin scrip perl--------------------

--------------Php----------------

codigoooo

¿Cómo llamo al Script Perl y le paso una cadena de texto?


-------------finPhp---------------

Mi pregunta es, el tema de las comillas es equivalente al exec() de PHP. Eso por una parte.

Lo que no tengo muy claro es:

1º Cómo le mando la cadena de ejecución de mi PHP al script Perl
2º Cómo devuelve el resultado de Perl a mi variable PHP y si se realiza todo en tiempo de ejecución.
basuko_2000
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-11-08 19:09 @840

Notapor explorer » 2006-11-09 05:44 @281

basuko_2000 escribiste:¿Cómo llamo al script Perl y le paso una cadena de texto?

Desde PHP, con exec, system o passthru puedes ejecutar comandos externos, dependiendo de si necesitas procesar información binaria y de si vas a obtener una o más líneas de texto como resultado.

basuko_2000 escribiste:Mi pregunta es, el tema de las comillas es equivalente al exec() de PHP.

Si, es lo mismo. De hecho, si vas a usar Perl sólo para ejecutar otro programa y devolver el resultado a PHP, es mucho mejor que llames directamente a ese programa desde PHP.

basuko_2000 escribiste:Lo que no tengo muy claro es:

1º Cómo le mando la cadena de ejecución de mi PHP al script Perl
2º Cómo devuelve el resultado de Perl a mi variable PHP y si se realiza todo en tiempo de ejecución.

1. Con exec("perl script.pl cadena de ejecución", $salida);
2. Con un print en Perl. El exec del PHP lo recoge y lo guarda en $salida como un array.
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

Notapor basuko_2000 » 2006-11-09 06:08 @297

Hola muchas gracias, lo único es lo siguiente es que en Php tengo la funcion exec() capada por eso necesito realizarlo en Perl. Hay alguna forma de llamar al perl mandandole una variable sin usar exec

1. Con exec("perl script.pl cadena de ejecución", $salida);

Este exec poner otro cosa que no este capada en el Php.

Saludos y gracias por toda la info
basuko_2000
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-11-08 19:09 @840

Notapor explorer » 2006-11-09 06:34 @315

Si no puedes usar exec, system o passthru en PHP, la única forma que se me ocurre es que el script Perl sea un CGI.
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

Notapor basuko_2000 » 2006-11-09 13:25 @601

Hola de nuevo, el tema esta que si lo realizo con CGI, ¿cómo lo llamo desde PHP y le paso la variable y el CGI me devuelve el dato al PHP en tiempo de ejecución?

¿Y cómo se realiza la instrucción exec() en CGI que devuelva un valor? Más o menos sería lo mismo pero en CGI, la cuestión que no se cómo funciona en CGI nada.

Si pueden tenderme una mano lo agradecería.

Saludos
basuko_2000
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2006-11-08 19:09 @840


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 6 invitados