• Publicidad

Ayuda con DBD::mysql

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

Ayuda con DBD::mysql

Notapor majitop1986 » 2008-08-07 10:47 @491

¡¡Hola a todos!!

¡Les tengo una pregunta...! Estoy haciendo un script en Perl que me recupere datos de mi base de datos, la cual es MySQL y por eso ya instalé el módulo DBD::mysql, pero al correr el script me genera un error.

El error es este:
Código: Seleccionar todo
Bareword "root" not allowed while "strict subs" in use at conex.pl line 10.
Execution of conex.pl aborted due to compilation errors.

 :?


y en la 10 tengo esto

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $userid=root;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
majitop1986
Perlero nuevo
Perlero nuevo
 
Mensajes: 64
Registrado: 2008-04-02 14:04 @628

Publicidad

Notapor explorer » 2008-08-07 11:29 @520

"Bareword" se podría traducir por 'una simple palabra'.

Perl ha encontrado una palabra que no ha podido traducir en nombre de subrutina ni en ninguna otra cosa. Como el modo estricto estaba activado, nos avisa de algo raro. Que ha encontrado algo sin declarar antes.

Quizás lo que deberías escribir sea
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $userid = "root";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Así, estamos asignando una cadena de caracteres a una variable escalar.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor majitop1986 » 2008-08-07 11:49 @534

¡¡¡Gracias!!! ¡Tenías razón...! ¡¡Ando despistada...!!

Te cuento que ahora me genera un error como que si no reconociera el módulo de CPAN que instalé... aquí está el error:

Código: Seleccionar todo
install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 3) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Proxy, Sponge.
 at conex.pl line 14


y en la linea 14 tengo
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $dbh = DBI->connect($connectionInfo,$userid,$pass,
                        {'RaiseError' => 1});
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


y yo instalé... el módulo a través de este comando que lo vi en un foro:
Código: Seleccionar todo
perl -MCPAN -e DBD::mysql


pero por lo visto está mal, ¿¿no?? :?
majitop1986
Perlero nuevo
Perlero nuevo
 
Mensajes: 64
Registrado: 2008-04-02 14:04 @628

Notapor explorer » 2008-08-07 12:03 @543

Para comprobar si el módulo está bien instalado, ejecuta desde la línea de comandos:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
perl -MDBD::mysql -e 1
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Y la instalación me parece que está mal.

Prueba con este comando, desde la línea de comandos:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
cpan DBD::mysql
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero yo usaría antes el gestor de paquetes de software de tu sistema operativo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor majitop1986 » 2008-08-07 12:11 @549

Hola, explorer, ¡gracias por contestar rápido...!

Te cuento que hice la instalación con el comando que me dijiste... y al último me genera un error extraño :? aquí te lo envío

Código: Seleccionar todo
Checking if your kit is complete...
Looks good
Using DBI 1.52 (for perl 5.008008 on i386-linux-thread-multi) installed in /usr/                                                                              lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI/
Writing Makefile for DBD::mysql
cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
gcc -c  -I/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI -I/u                                                                              sr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector                                                                               --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind                                                                              -tables -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-ali                                                                              asing -fwrapv -DDBD_MYSQL_WITH_SSL -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -D_REENTRAN                                                                              T -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/                                                                              local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2                                                                               -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=s                                                                              sp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables                                                                                 -DVERSION=\"4.007\" -DXS_VERSION=\"4.007\" -fPIC "-I/usr/lib/perl5/5.8.8/i386-li                                                                              nux-thread-multi/CORE"   dbdimp.c
/bin/sh: gcc: command not found
make: *** [dbdimp.o] Error 127
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible


Por lo que veo dice que instalarlo es imposible :shock:

Y cuando hago la prueba me sale el error que publiqué antes... cuando corrí el script... :shock: Ayuda
majitop1986
Perlero nuevo
Perlero nuevo
 
Mensajes: 64
Registrado: 2008-04-02 14:04 @628

Notapor explorer » 2008-08-07 12:18 @554

El error dice que no ha podido compilar el código en C porque... no ha encontrado el compilador de código C, el gcc.

Por favor... arranca el gestor de paquetes de software de tu sistema operativo. SEGURO que sí que está como paquete instalable.

¿Qué sistema operativo estás usando?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor majitop1986 » 2008-08-07 12:23 @558

Estoy usando Linux CentOS 5 :?
majitop1986
Perlero nuevo
Perlero nuevo
 
Mensajes: 64
Registrado: 2008-04-02 14:04 @628

Notapor explorer » 2008-08-07 12:33 @565

Bien. CentOS está basado en Red Hat. Usa el yum (u otra herramienta gráfica) y busca por DBD.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor majitop1986 » 2008-08-07 12:41 @570

mmm... yo el yum lo uso para poder instalar algunas cosas.. pero, disculpa mi ignorancia, ¿pero me estás diciendo que instale el módulo con yum?
majitop1986
Perlero nuevo
Perlero nuevo
 
Mensajes: 64
Registrado: 2008-04-02 14:04 @628

Notapor explorer » 2008-08-07 12:46 @573

Sí.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Básico

¿Quién está conectado?

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

cron