Soy totalmente nuevo en este lenguaje, he bajado algunos ejemplos pero no sé ni cómo empezar. Les agradecería mucho si me pueden ayudar y guiar.
Les comento. Quiero conectarme a MySQL con Perl, y tengo un módulo (nombre: /usr/lib/perl/5.8.8/conexionMySQL.pm) con el siguiente código:
Using perl Syntax Highlighting
#!/usr/bin/perl -w
package conexionMySQL;
use strict;
use DBI;
my $usuario = "root";
my $clave = "clave";
my $host = "localhost";
my $base= "database";
my $info_conection = "DBI:mysql:host=$host; database=$base";
sub conectar{
return (DBI->connect($info_conection, $usuario, $clave, {PrintError => 0, RaiseError => 1}));
}
1;
package conexionMySQL;
use strict;
use DBI;
my $usuario = "root";
my $clave = "clave";
my $host = "localhost";
my $base= "database";
my $info_conection = "DBI:mysql:host=$host; database=$base";
sub conectar{
return (DBI->connect($info_conection, $usuario, $clave, {PrintError => 0, RaiseError => 1}));
}
1;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Archivo Perl:
Using perl Syntax Highlighting
#!/usr/bin/perl
use conexionMySQL;
my $nombrevar = "leonardo";
$dbh = conexionMySQL -> conectar();
#Prepara la sentencia
$sentenciaSQL = $dbh->prepare('INSERTO INTO prueba nombre = ?') or die ("No se pudo preparar la sentencia: " . $dbh->errstr);
#Ejecuta la sentencia
$sth -> execute($nombrevar) or die ("No se pudo ejecutar la sentencia:" . $sth->errstr);
$sth -> finish;
#Cierra la conexion
$sth -> disconnect;
use conexionMySQL;
my $nombrevar = "leonardo";
$dbh = conexionMySQL -> conectar();
#Prepara la sentencia
$sentenciaSQL = $dbh->prepare('INSERTO INTO prueba nombre = ?') or die ("No se pudo preparar la sentencia: " . $dbh->errstr);
#Ejecuta la sentencia
$sth -> execute($nombrevar) or die ("No se pudo ejecutar la sentencia:" . $sth->errstr);
$sth -> finish;
#Cierra la conexion
$sth -> disconnect;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
y cuando lo ejecuto me da el siguiente error:
- Código: Seleccionar todo
root@noc02:/home/acollantes/perl# perl prueba.pl
Can't call method "execute" on an undefined value at prueba.pl line 12.
¿Alguien sabe de qué puede ser el error?
Gracias por su ayuda.