Je suis en train d'essayer de me faire un fichier avec tous mes sous
programmes pour les appeler ensuite de mon script principal, mais j'ai une
erreur que je ne comprends pas du tout sachant que je ne la trouve pas
logique :(, la fameuse erreur "mon_module.pm did not return a true value
..." mais je vois pas pourquoi vu que j'ai bien spécifié le "1;" à la fin
!!!
Voici le code actuel entre mon script principal (script.pl), et mon module
qui contiendra les fonctions externes à termes (mon_module.pm).
script.pl qui contient le code suivant :
#!/usr/bin/perl
print "Content-type: text/html\n\n";
use strict;
use mon_module;
&test();
mon_module.pm qui contient le code suivant :
#!/usr/bin/perl
use strict;
package mon_module;
sub test{
print 'Hello World';
}
1;
donc je m'attends à un beau Hello World affiché à l'écran et ben non :(
Je précise que les 2 fichiers se situent dans le dossier cgi-bin de mon
apache
Merci à tout ceux qui pourront me dépatouiller de cette situation.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques Caron
Salut,
On Fri, 28 Oct 2005 01:59:27 +0200, Slyv wrote:
Je précise que les 2 fichiers se situent dans le dossier cgi-bin de mon apache
Ce dossier apparaît bien dans ton @INC? Faute de quoi perl va peut-être chercher une autre version de mon_module.pm qui n'aurait peut-être pas ce fameux 1;?
Jacques. -- Oxado http://www.oxado.com/
Salut,
On Fri, 28 Oct 2005 01:59:27 +0200, Slyv <ffadventure@free.fr> wrote:
Je précise que les 2 fichiers se situent dans le dossier cgi-bin de mon
apache
Ce dossier apparaît bien dans ton @INC? Faute de quoi perl va peut-être
chercher une autre version de mon_module.pm qui n'aurait peut-être pas ce
fameux 1;?
Je précise que les 2 fichiers se situent dans le dossier cgi-bin de mon apache
Ce dossier apparaît bien dans ton @INC? Faute de quoi perl va peut-être chercher une autre version de mon_module.pm qui n'aurait peut-être pas ce fameux 1;?
Jacques. -- Oxado http://www.oxado.com/
Le_T
Logiquement il doit être dans le dossier @INC, et se terminer par un 1;
Si tu veux récupérer une valeur, il me semble que c'est via
Bonjour, Je debute aussi dans l'écriture de modules, je suis parvenu à faire tourner sous mod_perl le code suivant: ---test.pl--- #!/usr/bin/perl push @INC ,'/chemin/repertoire/ou/se/trouve/le/module'; use strict; require 'mon_module.pm';
---mon_module.pm--- #!/usr/bin/perl use strict; package mon_module;
sub test{ print 'Hello World'; return 1; } 1; ------ Je sais c'est dégeu comme méthode mais ça fonctionne... Je dois encore chercher pour faire ça 'proprement'... Si un volontaire veut me donner un pointeur plus direct, je prends, perlmod/perlmodlib me sortent bien des exemples mais j'avoue ne pas tout saisir...
Slyv wrote:
Bonjour à tous, [...]
#!/usr/bin/perl print "Content-type: text/htmlnn"; use strict; use mon_module; &test();
mon_module.pm qui contient le code suivant :
#!/usr/bin/perl use strict; package mon_module;
sub test{ print 'Hello World'; } 1;
-- MaXX
Bonjour,
Je debute aussi dans l'écriture de modules, je suis parvenu à faire tourner
sous mod_perl le code suivant:
---test.pl---
#!/usr/bin/perl
push @INC ,'/chemin/repertoire/ou/se/trouve/le/module';
use strict;
require 'mon_module.pm';
---mon_module.pm---
#!/usr/bin/perl
use strict;
package mon_module;
sub test{
print 'Hello World';
return 1;
}
1;
------
Je sais c'est dégeu comme méthode mais ça fonctionne... Je dois encore
chercher pour faire ça 'proprement'...
Si un volontaire veut me donner un pointeur plus direct, je prends,
perlmod/perlmodlib me sortent bien des exemples mais j'avoue ne pas tout
saisir...
Slyv wrote:
Bonjour à tous,
[...]
#!/usr/bin/perl
print "Content-type: text/htmlnn";
use strict;
use mon_module;
&test();
Bonjour, Je debute aussi dans l'écriture de modules, je suis parvenu à faire tourner sous mod_perl le code suivant: ---test.pl--- #!/usr/bin/perl push @INC ,'/chemin/repertoire/ou/se/trouve/le/module'; use strict; require 'mon_module.pm';
---mon_module.pm--- #!/usr/bin/perl use strict; package mon_module;
sub test{ print 'Hello World'; return 1; } 1; ------ Je sais c'est dégeu comme méthode mais ça fonctionne... Je dois encore chercher pour faire ça 'proprement'... Si un volontaire veut me donner un pointeur plus direct, je prends, perlmod/perlmodlib me sortent bien des exemples mais j'avoue ne pas tout saisir...
Slyv wrote:
Bonjour à tous, [...]
#!/usr/bin/perl print "Content-type: text/htmlnn"; use strict; use mon_module; &test();
mon_module.pm qui contient le code suivant :
#!/usr/bin/perl use strict; package mon_module;
sub test{ print 'Hello World'; } 1;
-- MaXX
MaXX
Je me sens tout con, je viens de trouver ça dans les exemples de KDevelop (KDE3.4/freebsd).
package testmodule;
use strict;
require Exporter; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
# set the version for version checking $VERSION = 0.1;