Página 1 de 1

Error en la linea "use DBI;"

NotaPublicado: 2006-10-16 15:27 @685
por denriseg
Hola a todos soy nuevo en Perl y el siguiente codigo:

use Time::Local;
use DBI;
use strict;

my ($seg, $min, $hora, $dia, $mes, $anho, @zape) = localtime(time);
$mes++;
$anho+=1900;

my $archivo= "afc$anho$mes$dia.dat";
..........


El error que me aparece es: Compilation failed in require at conexion.pl line 2.

Tengo Windows Xp y ya instale el DBI mediante ActivePerl 5.6 agradeceria su ayuda =) Gracias.

NotaPublicado: 2006-10-16 15:42 @695
por explorer
Yo juraría que falta la primera línea del programa:
Código: Seleccionar todo
#!C:\Perl\bin\perl.exe

siendo C:\Perl\bin\perl.exe el camino al ejecutable perl.exe, claro.
Con ActivePerl, creo que incluso lo puedes dejar como
Código: Seleccionar todo
#!Perl
pero no estoy tan seguro. Lo seguro es que lo pone en la documentación...

NotaPublicado: 2006-10-16 15:46 @698
por denriseg
Ya agregue la linea al principio pero me sigue marcando lo mismo pero ahora en la linea 3.

#!C:\Perl\bin\perl.exe
use Time::Local;
use DBI;


use strict;

my ($seg, $min, $hora, $dia, $mes, $anho, @zape) = localtime(time);
$mes++;
$anho+=1900;

my $archivo= "afc$anho$mes$dia.dat";
....................

Que mas puedo hacer?

NotaPublicado: 2006-10-16 15:57 @706
por explorer
Después de la primera línea, pon
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use diagnostics;
use warnings;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
para que dé más información, pero quizás sea un problema de instalación del DBI.

NotaPublicado: 2006-10-16 16:03 @710
por denriseg
Uncaught exception from user code:
Uncaught exception from user code:
Uncaught exception from user code:
Uncaught exception from user code:
require DBI.pm called at conexion.pl line 5
require DBI.pm called at conexion.pl line 5
Compilation failed in require at conexion.pl line 5.
main::BEGIN() called at C:/Perl/lib/DBI.pm line 5
eval {...} called at C:/Perl/lib/DBI.pm line 5
BEGIN failed--compilation aborted at conexion.pl line 5

me aparece todo eso, ya cheque y si tengo el DBI.pm en C:/Perl/lib/DBI.pm

Crees que lo tenga que volver a instalar?

NotaPublicado: 2006-10-16 16:11 @716
por explorer
Dentro de DBI, el primer require dice que necesita una determinada versión de Perl.
Por ejemplo, en mi DBI.pm versión 1.50, dice:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
require 5.006_00;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
indicando que necesita una versión de Perl superior a 5.6.
No creo que se esto, la verdad, pero si lo es, indicaría que tienes una versión de Perl muy antigua.
Haz una cosa: coloca el use DBI; antes del otro use ....
Para saber la versión que tienes puesta, haz un perl -V.

NotaPublicado: 2006-10-16 17:51 @785
por denriseg
Creo que el error está en el DBI porque yo lo instalé en ppm3-bin.bat pero en ppm normal cuando le doy install DBI me aparece: Error installing package 'DBI' could not locate a PPD file for package DBI
¿Qué puede ocasionar esto?

NotaPublicado: 2006-10-16 17:59 @791
por explorer
Un momento... ¿El módulo DBI no estaba instalado cuando instalaste el Perl?

Donde estoy ahora no tengo el Windows a mano, por lo que no puedo comprobarlo, pero juraría que sí está...

El error dice que no encuentra el fichero de definición de paquete ppm para DBI. O se ha bajado mal o no es compatible con esa versión de ppm.

Yo probaría a instalarme un ActivePerl nuevo. Es una solución windowsera, pero casi siempre funciona. En este foro, la mayoría, al menos los que han tenido problemas con la instalación de módulos ppm lo han arreglado así.