Se suele pensar en expresiones regulares, cuando hablamos de buscar patrones, pero, en este caso, queremos buscar una cadena exacta. En ese caso es mejor usar el operador de comparación 'eq', que prueba la igualdad entre cadenas de caracteres.
Y, también, importante: si estamos leyendo líneas de un fichero de texto, hay que recordar que esa línea aún contiene el/los caracteres de fin de línea o retorno de carro.
Using perl Syntax Highlighting
my $path = "/etc/nagios2/monitor/BES.cfg";
open(DATOS, $path);
while (my $linea=<DATOS>) {
chomp $linea; # quitamos el retorno de carro
if ($linea eq 'juan') { # comparación
push @cliente, $linea; # sí, la guardamos
}
}
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Aunque... no tiene mucho sentido guardar todas las líneas iguales a la que buscamos: si son todas iguales, el contenido de @cliente será un montón de elementos todos iguales... ¿No será otra cosa lo que quieres guardar?