[Perl] como llamo un programa desde otro programa

Salvador Ortiz Garcia sog@msg.com.mx
23 Jul 2003 22:56:36 -0500


On Wed, 2003-07-23 at 17:54, Lalo wrote:
> amigos de la lista, denuvo estoy aqui molestando (pero espero que por poco 
> tiempo y empiece a ayudar yo tb ;-) )
> 
> mi duda es la siguiente como llamo un programa  desde otro programa las 
> veces que yo quiera??, es decir
> 
> tengo el programa  p1.pl  el cual llama a p2.pl,   p2.pl  se ejecuta, 
> termina su ejecucion y entrega el mando a p1.pl, todas las veces que se 
> estime necesario, e investigado y no encuentro como hacerlo. De antemano 
> gracias

Formas existen muchas, dependiendo que tipo de comunicación requieres en
p1 y p2, la más simple:


  #En p1.pl
  ...
  my $res = system('/path/p2.pl',$arg1, $arg2, @otros_argumentos,...);
  if($res != 0) { # Error en p2.pl
    ...
  }
  ...

Puedes también crear "pipes" simples entre p1 y p2 con 'qx' u 'open', o
usar mecanismos más sofisticados con 'pipe','fork','exec', ipc, etc.

Asomate a las mencionadas en perlfunc(1), perlopentut(1), perlipc(1).

Saludos.

-- 
Salvador Ortiz Garcia <sog@msg.com.mx>
Matías Software Group