• Publicidad

Error con módulo en CGI::Application

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Error con módulo en CGI::Application

Notapor danimera » 2009-03-05 16:12 @716

Tengo un módulo que lo uso así
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
package seguimiento;

use strict;
use lib('/home/bitacor4/public_html/lib');
use lib('/home/bitacor4/public_html/modulos');
use base 'CGI::Application';

use CGI::Application::Plugin::DBH (qw/dbh_config dbh/);
use CGI::Application::Plugin::ConfigAuto (qw/cfg cfg_file/);
use CGI::Application::Plugin::Session;
use CGI::Application::Plugin::Authentication;
use HTML::GoogleMaps;
use CGI::FormBuilder;
use Data::Dumper;
use FILE::kreader qw(kread);  # este es mi módulo
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


Código: Seleccionar todo
Software error:
"kread" is not exported by the FILE::kreader module
Can't continue after import errors at ../modulos/seguimiento.pm line 16
BEGIN failed--compilation aborted at ../modulos/seguimiento.pm line 16.
Compilation failed in require at seguimiento.pl line 7.
BEGIN failed--compilation aborted at seguimiento.pl line 7.


Y cuando lo uso así

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
package seguimiento;

use strict;
use lib('/home/bitacor4/public_html/lib');
use lib('/home/bitacor4/public_html/modulos');
use base 'CGI::Application';

use CGI::Application::Plugin::DBH (qw/dbh_config dbh/);
use CGI::Application::Plugin::ConfigAuto (qw/cfg cfg_file/);
use CGI::Application::Plugin::Session;
use CGI::Application::Plugin::Authentication;
use HTML::GoogleMaps;
use CGI::FormBuilder;
use Data::Dumper;
use FILE::kreader;  # este es mi módulo
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


sale esto
Código: Seleccionar todo
La aplicación tiene error:
Undefined subroutine &seguimiento::kread called at ../modulos/seguimiento.pm line 146.


Es vital esa función que tengo en el modulo FILE::kreader. La llamo dentro de un sub en mi código solamente así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $categorias = "../".$cliente."/db/categorias.txt";
       #my @categorias = obtener_categorias('$cliente');
       my @categorias = kread($categorias,0,0);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¿Qué podría ser? Eso sí: cuando no la uso con CGI::Application me funciona bien.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Notapor kidd » 2009-03-05 17:43 @780

Me parece que el problema es que en tu módulo no estás exportando de manera correcta tus funciones.
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor danimera » 2009-03-06 08:38 @401

Este es mi módulo

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting


use strict;



require Exporter;

{   no strict;

    @ISA = qw(Exporter);

   @EXPORT_OK = qw(makefile swrite cfind fwrite fedit fkread kread phs);

}


sub makefile{

}

sub kread{  

}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Bueno, el inicio de mi módulo.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor kidd » 2009-03-06 08:49 @409

Prueba así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
package FILE::kreader;

use base 'Exporter';
use strict;

our @ISA = qw(Exporter);
our @EXPORT_OK = qw( makefile swrite cfind fwrite fedit fkread kread phs );

sub makefile{

}

sub kread{  

}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y luego:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
package seguimiento;

use strict;
use lib('/home/bitacor4/public_html/lib');
use lib('/home/bitacor4/public_html/modulos');
use base 'CGI::Application';

use CGI::Application::Plugin::DBH (qw/dbh_config dbh/);
use CGI::Application::Plugin::ConfigAuto (qw/cfg cfg_file/);
use CGI::Application::Plugin::Session;
use CGI::Application::Plugin::Authentication;
use HTML::GoogleMaps;
use CGI::FormBuilder;
use Data::Dumper;
use FILE::kreader (qw/kread/);  # este es mi módulo
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4



Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor danimera » 2009-03-06 10:15 @469

Problema solucionado. GRACIAS, Kidd.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron