Página 1 de 1

Error en código simple

NotaPublicado: 2006-11-14 09:49 @450
por Guille
¡¡Hola a todos!!

Estoy teniendo un problema en un código muy simple, y es tan simple que no puede encontrar el error por lo cual no puede compilarse...

Estoy tratando de encontrar una línea dentro del archivo de configuración del Apache...

el código es el siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -w

$dominio="dominio.com.ar";
$archivo="/root/httpd.conf.bk";
$servername="ServerAlias $dominio";

open(APACHE,"$archivo");

while(<APACHE>)
{
$linea=_$;
if( "$linea" eq "$servername" )
{
print "La línea está";
}
}
close (APACHE)
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4


Y los errores que me da son los siguientes...

Código: Seleccionar todo
syntax error at ./apache.pl line 15, near ")
{"
syntax error at ./apache.pl line 18, near "}"
Execution of ./apache.pl aborted due to compilation errors.


Pero en la línea 15 y 18 no hay mucho más que hacer :x

¿¿ Dónde podría estar el error o qué estoy haciendo mal ?? :roll:


¡¡¡Saludos y muchas gracias como siempre!!!


Guille :D

NotaPublicado: 2006-11-14 12:40 @569
por kidd
Hola:

Si es un error muy chico, donde viene:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$linea=_$;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


debería de ser

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$linea = $_;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4



Saludos

NotaPublicado: 2006-11-20 14:45 @656
por Guille
Hola a todos lamentablemente sigo con problemas, y la verdad es un poco vergonzoso ya que el código es extremadamente simple... y no me funciona...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -w

$dominio="dominio.com.ar";
$archivo="/root/httpd.conf.bk";
$servername="ServerAlias $dominio";

open(APACHE,"$archivo");

while(<APACHE>) {
  $linea = _$;
  if( "$linea" eq "$servername" ) {
    print "La línea está";
  }
}
close (APACHE)
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero el problema es que "dominio.com.ar" si se encuentra dentro del archivo, porque puede ser que no me imprima que la línea si está :x


¡¡Saludos a todos!!

NotaPublicado: 2006-11-20 16:03 @710
por Guille
perdon por copiar el texto tal cual pero el error en la linea $_ ; ya fue corregido y el problema continua :lol:

NotaPublicado: 2006-11-20 16:13 @717
por explorer
Necesitas cambiar la comparación 'eq' por una expresión regular. Con 'eq' estás comparando toda la longitud de la cadena.

Prueba con
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -w

$dominio    = 'dominio.com.ar';
$archivo    = '/root/httpd.conf.bk';
$servername = "ServerAlias $dominio";

open(APACHE,"<$archivo");

while( $linea = <APACHE> ) {

  if( $linea =~ /$servername/i ) {
    print "La línea está\n";
  }

}
close (APACHE);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4