Página 1 de 1

Monitor de programas

NotaPublicado: 2012-08-16 12:47 @574
por sark2048
Hola. Me encuentro en un dilema, ya que ya puedo conectarme remotamente con el módulo OpenSSH, haciendo referencia a la visualización de un archivo mediante ls -l "archivo".

Lo que sucede es que quiero validar que exista ese archivo, pienso yo que haciendo una comparación de cadenas, pero lo que me arroja el módulo de Perl mediante un while() es esto:

while(<$rout>){
print
}close $rout;

Lo que manda rout es lo que genera el comando de shell ls -l del archivo. O sea:

ls : no puede acceder al archivo /../../programa: No exíste el fichero ni el directorio.

En resumen, tengo que verificar que se encuentre dentro de /usr/sbin/"programa", pero con el módulo de Perl logro ver lo que manda el ls, pero no sé cómo comparar eso con una cadena que yo tengo en mi equipo.

Re: Monitor de programas

NotaPublicado: 2012-08-16 14:57 @664
por explorer
Bienvenido a los foros de Perl en Español, sark2048.

Lo que puedes hacer es guardar lo que recibes en una variable escalar:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my @rout = <$rout>;
  2. my $ls = join '', @rout;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


O así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. local $/;
  2. my $ls = <$rout>;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y luego ya puedes buscar lo que necesites, con index(), rindex() o un patrón de expresión regular.