• Publicidad

Comparar cadena de string

Todo acerca de las bases de datos que existen: SQL, MySQL, Oracle, Postgres, CSV, etc.

Comparar cadena de string

Notapor jacks » 2012-02-13 16:39 @735

Hola, me gustaría saber si alguien podría ayudarme con esta duda. Resulta que cuando quiero eliminar un patrón, no lo hace, y no sé por qué. Como se puede apreciar en la imagen, encuentra el patrón en la base de datos, pero dice que no son iguales :?

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. sub comparar{
  2.  
  3.       printf ("Estoy aquí.\n");
  4.  
  5.       my($tabla,$patron,$conexion)=@_;                        
  6.  
  7.       print "La tabla es:  ",$tabla,"\n";
  8.  
  9.       my $sth = $conexion->prepare("SELECT * FROM $tabla");      
  10.  
  11.       $sth->execute();
  12.                                  
  13.       my $encontrada= 0;                                    
  14.      
  15.       $patron=~ s/^\s+//;
  16.  
  17.  
  18.         while (my $ref = $sth->fetchrow_hashref() and  $encontrada==0) {  
  19.  
  20.                 print "Patron en la bd: ",$ref->{'patron'},"\n";
  21.                 print "Patron varibale: ",$patron,"\n";
  22.  
  23.                 if  ( $patron eq $ref->{'patron'}){      
  24.  
  25.                         printf("$ref->{'patron'}\n");
  26.                         printf("$link\n");
  27.  
  28.                       $encontrada = 1;
  29.                 }
  30.         }
  31.  
  32.         $sth->finish();
  33.        
  34.         print "Encontrado: ",$encontrada,"\n";
  35.  
  36.         return $encontrada;                    
  37. }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Adjuntos
Error.JPG
Error.JPG (7.43 KiB) Visto 1332 veces
jacks
Perlero nuevo
Perlero nuevo
 
Mensajes: 148
Registrado: 2011-04-05 11:14 @510

Publicidad

Re: Comparar cadena de string

Notapor explorer » 2012-02-13 17:31 @771

Quizás haya algún carácter no visible, que los diferencie.

Puedes probar a modificar estas líneas:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.                 print "Patron en la bd: [",$ref->{'patron'},"]\n";
  2.                 print "Patron variable: [$patron]\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Lo único que hemos hecho es poner unos corchetes, para que nos delimiten exactamente los valores.

¡Ah!, y para que salgan los caracteres acentuados de forma correcta en la terminal de comandos de Windows, debes poner un
binmode(STDOUT, ":encoding(cp850)");

al principio del programa. (Bueno, no recuerdo si era cp850 o cp852).
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 Bases de datos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados

cron