![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| Realización de una llamada a C-función desde una secuencia de comandos Perl | JISHA | Programación de scripts de shell y | 9 | 05-08-2008 01:59 AM |
| Llamadas de Winzip script perl | MobileUser | Programación de scripts de shell y | 5 | 04-04-2007 04:51 AM |
| llamar a un script de perl | gurukottur | Programación de scripts de shell y | 3 | 10-05-2006 12:48 PM |
| Un cuadro del script de perl llamando la casilla B del script de shell | new2ss | Programación de scripts de shell y | 1 | 09-13-2006 07:17 AM |
| Llamando CGI Perl en Shell script [urgente] | DeepakXavier | Programación de scripts de shell y | 0 | 10-09-2005 02:51 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Llamar a un script en perl desde un script de perl
Código:
printf(Going to call another script... \n); system(/my_dir/B.pl); # call another perl script B.pl exit; Hola a todos, es un ejemplo que estoy usando para llamar a otro perl guión de la actual perl guión. Tengo dos preocupaciones: 1) Esta existe una mejor forma de lograr el mismo fin (es decir, llamar a otra perl secuencia de comandos desde un perl script)? 2) Aviso de salida hay un comando en el script de mi vocación. ¿La salida de comando se ejecutará sólo después de completar B.pl O será ejecutado inmediatamente B.pl se llama? |
|
||||
|
Cita:
Cita:
¿Te tratan de averiguar si ese es el caso? |
|
||||
|
Cita:
i qoute de perldoc del sistema "... hace exactamente lo mismo que exec LISTA, salvo que un tenedor se hace en primer lugar, y el proceso padre espera que el proceso hijo para completar ...." Así que puedo entender que mi primer script B.pl a esperar a que termine antes de salir. la entrada para perldoc exec dice: ".. La función exec ejecuta un sistema de mando y no vuelve nunca -". Por lo tanto, puedo suponer que después de que las llamadas B.pl, llamando a la secuencia de comandos de salida. Mi intención es no esperar a que B.pl hasta el final, (es decir, corre y la persona que llama B.pl propio script de salida), por lo tanto debe usar exec i? Cualquier señalar la espalda? |
|
||||
|
Me gusta exigir a cualquier otro archivo en el inicio de la secuencia de comandos entonces llamar a la rutina en ellos cuando sea necesario. Esto puede o no ser la mejor manera, pero funciona bastante bien para mí. Por cierto, si no recuerdo mal, creo que el archivo que está llamando no necesariamente el nivel perl script de cabecera, no tiene que terminar en "pl" o "cgi", y no necesita permisos ejecutable.
(main_file.pl) #! / usr / bin /perl exigir "other_file.pl"; y do_something; y do_something_else; salida; (other_file.pl) do_something sub ( print "Content-type: text / html \ n \ n"; print "ok"; ) do_something_else sub ( print "Content-type: text / html \ n \ n"; print "bien de nuevo"; ) 1; return true # No he probado el script, pero sé que es muy cerca de lo que hago. |
|
||||
|
Cita:
Me encontré el código y funcionó, pero tengo que pasar argumentos, y sólo añadir (en la misma forma como lo hace con una subrutina) no funciona. Esta es mi primera experiencia con perl, Y la inanidad de carretera son muy frustrante! Lo sentimos - Miré en todas partes y trató de un montón de enfoques, sin éxito. Cualquier ayuda será apreciada! ![]() |
|
||||
|
Los primeros resultados Perl y Robert Perl Tutorial. Libros en línea, ambos con una cobertura exhaustiva del tema de newbs a la lengua.
|
|
||||
|
En realidad "Los primeros resultados Perl"Ni siquiera menciona otras llamadas perl guiones, y "Robert's Perl Tutorial "es para Windows y sólo menciona que es lo que con los módulos. Sin embargo, me las arreglé para utilizarlo y karlsworld la secuencia de comandos para juntar algo que funciona. Además, me olvidé de mencionar que no desea utilizar el sistema (), porque tengo que pasar múltiples nombres de archivo y desea estar en posición de aceptar el dolor de cabeza, sin espacios de calcular piezas que van de la mano en el método objetivo. De todos modos. Para aquellos que lean esto en el futuro, esto funciona: (main_file.pl) Código:
#!/usr/bin/perl use strict; use warnings; require "other_file.pl"; my $string = "Hello"; my $string2 = "Hello again"; do_something($string); my ($s1, $s2) = do_something_else($string2); print "Received: $s1 $s2\n"; exit; (other_file.pl) Código:
sub do_something($){
my $string = $_[0];
print "Printing: $string\n";
}
sub do_something_else($){
my $string = $_[0];
print "Now printing: $string\n";
my $yyyy = 2009;
return ($string, $yyyy);
}
1; # return true
Y la salida es: Impresión: Hola |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|