SirBuce escribiste:Buenas,
Tal vez esta pregunta no sea de nivel intermedio, si es así mis disculpas al moderador.
Veréis, estoy usando un pm que contiene funciones, pero en vez de abrir la conexion y cerrarla en cada conexión quiero hacer lo siguiente.
En el finchero pl que tengo el use al fichero pm abro la conexión y la cierro. En el medio de esas sentencias, quiero usar las funciones que correspondan, pero no se como poder usar la variable de conexión en las funciones que están declaradas en el fichero pm.
Alguien me puede echar un cable?
Gracias.
Me suena a qué quieres generar UNA sola conexión para todas las instancias de tu programa o módulo.
Una solución (y no implica la mas correcta) podría ser declarar una variable léxica global llamada $dbh, e inicializarla en un bloque BEGIN y cerrarla en un bloque END, algo como:
Using perl Syntax Highlighting
my $dbh;
BEGIN {
$dbh = DBI
->connect(...);
}
...
# funciones
END
{
$dbh->close
}
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
El bloque END es opcional si tu módulo realmente es una clase y provees de algún método como close() o algún destructor elaborado con DESTROY.
Saludos,