• Publicidad

Error en código simple

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Error en código simple

Notapor Guille » 2006-11-14 09:49 @450

¡¡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.003 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
Avatar de Usuario
Guille
Perlero nuevo
Perlero nuevo
 
Mensajes: 33
Registrado: 2006-05-31 13:30 @604
Ubicación: Argentina

Publicidad

Notapor kidd » 2006-11-14 12:40 @569

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
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor Guille » 2006-11-20 14:45 @656

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!!
Avatar de Usuario
Guille
Perlero nuevo
Perlero nuevo
 
Mensajes: 33
Registrado: 2006-05-31 13:30 @604
Ubicación: Argentina

Notapor Guille » 2006-11-20 16:03 @710

perdon por copiar el texto tal cual pero el error en la linea $_ ; ya fue corregido y el problema continua :lol:
Avatar de Usuario
Guille
Perlero nuevo
Perlero nuevo
 
Mensajes: 33
Registrado: 2006-05-31 13:30 @604
Ubicación: Argentina

Notapor explorer » 2006-11-20 16:13 @717

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
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado