Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

¿Cómo "conversar" con programas UNIX?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Mar Abr 18, 2006 12:36 pm
pmorales
Perlero Nuevo
Perlero Nuevo
Registrado: 18 Abr 2006
Mensajes: 2
¿Cómo "conversar" con programas UNIX? Responder citando

Hola a todos, soy nuevo en esta comunidad y espero poder aprender harto Wink

Ahora va mi duda, me gustaría saber si se puede "conversar" con programas unix, me explico: por ejemplo quiero pasarle algunos parámetros a la función ls, después ejecutarla y tomar acciones dependiendo de la respuesta. ¿Se puede hacer? si es así, ¿Se puede guardar el retorne de ls en alguna variable?

gracias de antemano por las respuestas Wink

Saludos!
Mensaje Mar Abr 18, 2006 1:00 pm
Perl user
Maestro Honorario
Maestro Honorario
Registrado: 03 Nov 2004
Mensajes: 385
Responder citando

Que tal, tienes varias soluciones:

1) Hay modulos en CPAN para conversar con aplicaciones, dependiendo el tipo de la aplicación puedes encontrar un módulo específico.
2) Si son comunicaciones sencillas puedes hacerlo atravez de open() y pipes.
3) Puedes usar backticks ( `` ) o el operador qx() para ejecutar un comando y obtener su salida.

Saludos,
Mensaje Mar Abr 18, 2006 1:01 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4084
Ubicación: Valladolid, España
Responder citando

La solución más sencilla pasa por componer el comando unix con los argumentos y luego ejecutar con los backtiks o qx (busca por qx/STRING/):
Código:
$argumentos = '-alrt';
$resultado = qx( ls $argumentos );
Si necesitas un nivel más alto de comunicación, visita open.
Aquí hay una mejor introducción: http://perldoc.perl.org/perlipc.html#Using-open()-for-IPC
Mensaje Mie Abr 19, 2006 11:28 am
pmorales
Perlero Nuevo
Perlero Nuevo
Registrado: 18 Abr 2006
Mensajes: 2
Responder citando

Muchas gracias! era justamente lo que necesitaba Smile
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group