Utiliser un dossier personnel plutot que c:perllib pour mes modules (.pm)
4 réponses
Martin
Bonjour,
J'ai créé un module (.pm) qui contient certaines fonctions que j'utilise
souvent. Dans un .pl, je fais un require sur ce module et j'appelle les
fonctions. Les deux fichiers sont dans le même repertoire. Quand je lance le
fichier .pl par la ligne de commande, ca fonctionne bien. Cependant, quand
je le charge à partir de PerlEz (une dll de ActiveState sous win32 pour
appeller du perl dans du C ou C++), ca ne fonctionne que si je déplace le
fichier .pm dans un repertoire standard pour les .pm, c:\perl\lib par
exemple.
Le problème, c'est que je ne veux pas faire cela. Je veux que mon code Perl
suive le code C++ associé dans notre outil de versionning (CVS) alors le
plus simple serait qu'il soit sous le même repertoire racine. Je doute qu'il
y ait une facon de spécifier l'utilisation du bon repertoire, soit quand je
crée l'interpréteur avec PerlEz, soit avec un fichier de configuration.
Je ne veux pas non plus faire un ' require "c:/monrep/fichier.pm"; ' parce
que tout le monde au bureau n'a pas placé son repertoire CVS au même
endroit.
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 04:09:12 +0200, Martin wrote:
Je doute qu'il y ait une facon de spécifier l'utilisation du bon repertoire, soit quand je crée l'interpréteur avec PerlEz, soit avec un fichier de configuration.
Je ne connais pas PerlEz ni les spécificités Windowsiennes, mais un bon PERL5LIB correctement configuré dans l'environnement devrait faire l'affaire, non?
On Fri, 28 Oct 2005 04:09:12 +0200, Martin
<martin.labonte.nospam@sympatico.ca> wrote:
Je doute qu'il y ait une facon de spécifier l'utilisation du bon
repertoire,
soit quand je crée l'interpréteur avec PerlEz, soit avec un fichier de
configuration.
Je ne connais pas PerlEz ni les spécificités Windowsiennes, mais un bon
PERL5LIB correctement configuré dans l'environnement devrait faire
l'affaire, non?
Je doute qu'il y ait une facon de spécifier l'utilisation du bon repertoire, soit quand je crée l'interpréteur avec PerlEz, soit avec un fichier de configuration.
Je ne connais pas PerlEz ni les spécificités Windowsiennes, mais un bon PERL5LIB correctement configuré dans l'environnement devrait faire l'affaire, non?
J'ai créé un module (.pm) qui contient certaines fonctions que j'utilise souvent. Dans un .pl, je fais un require sur ce module et j'appelle les fonctions. Les deux fichiers sont dans le même repertoire. Quand je lance le fichier .pl par la ligne de commande, ca fonctionne bien. Cependant, quand je le charge à partir de PerlEz (une dll de ActiveState sous win32 pour appeller du perl dans du C ou C++), ca ne fonctionne que si je déplace le fichier .pm dans un repertoire standard pour les .pm, c:perllib par exemple.
Le problème, c'est que je ne veux pas faire cela. Je veux que mon code Perl suive le code C++ associé dans notre outil de versionning (CVS) alors le plus simple serait qu'il soit sous le même repertoire racine. Je doute qu'il y ait une facon de spécifier l'utilisation du bon repertoire, soit quand je crée l'interpréteur avec PerlEz, soit avec un fichier de configuration.
Vous pouvez ajouter un répertoire à @INC à la création l'interpréteur avec PerlEzCreate exactement comme vous le feriez avec perl en ajoutant un -I<rep> sur la ligne de commande. (Il faut dire que la doc de PerlEz est vraiment minimale; contrairement à ce que son nom indique, son utilisation n'est pas si "easy" que ça.)
Le petit programme C qui suit affiche @INC. Chez moi ça donne : C:/foo/bar C:/perl58/lib C:/perl58/site/lib . Le répertoire ajouté est donc placé en tête de @INC
Dans l'article <9Lf8f.12709$Nj3.1067868@news20.bellglobal.com>,
martin.labonte.nospam@sympatico.ca a dit...
J'ai créé un module (.pm) qui contient certaines fonctions que j'utilise
souvent. Dans un .pl, je fais un require sur ce module et j'appelle les
fonctions. Les deux fichiers sont dans le même repertoire. Quand je lance le
fichier .pl par la ligne de commande, ca fonctionne bien. Cependant, quand
je le charge à partir de PerlEz (une dll de ActiveState sous win32 pour
appeller du perl dans du C ou C++), ca ne fonctionne que si je déplace le
fichier .pm dans un repertoire standard pour les .pm, c:perllib par
exemple.
Le problème, c'est que je ne veux pas faire cela. Je veux que mon code Perl
suive le code C++ associé dans notre outil de versionning (CVS) alors le
plus simple serait qu'il soit sous le même repertoire racine. Je doute qu'il
y ait une facon de spécifier l'utilisation du bon repertoire, soit quand je
crée l'interpréteur avec PerlEz, soit avec un fichier de configuration.
Vous pouvez ajouter un répertoire à @INC à la création l'interpréteur avec
PerlEzCreate exactement comme vous le feriez avec perl en ajoutant un -I<rep>
sur la ligne de commande.
(Il faut dire que la doc de PerlEz est vraiment minimale; contrairement à
ce que son nom indique, son utilisation n'est pas si "easy" que ça.)
Le petit programme C qui suit affiche @INC.
Chez moi ça donne :
C:/foo/bar
C:/perl58/lib
C:/perl58/site/lib
.
Le répertoire ajouté est donc placé en tête de @INC
J'ai créé un module (.pm) qui contient certaines fonctions que j'utilise souvent. Dans un .pl, je fais un require sur ce module et j'appelle les fonctions. Les deux fichiers sont dans le même repertoire. Quand je lance le fichier .pl par la ligne de commande, ca fonctionne bien. Cependant, quand je le charge à partir de PerlEz (une dll de ActiveState sous win32 pour appeller du perl dans du C ou C++), ca ne fonctionne que si je déplace le fichier .pm dans un repertoire standard pour les .pm, c:perllib par exemple.
Le problème, c'est que je ne veux pas faire cela. Je veux que mon code Perl suive le code C++ associé dans notre outil de versionning (CVS) alors le plus simple serait qu'il soit sous le même repertoire racine. Je doute qu'il y ait une facon de spécifier l'utilisation du bon repertoire, soit quand je crée l'interpréteur avec PerlEz, soit avec un fichier de configuration.
Vous pouvez ajouter un répertoire à @INC à la création l'interpréteur avec PerlEzCreate exactement comme vous le feriez avec perl en ajoutant un -I<rep> sur la ligne de commande. (Il faut dire que la doc de PerlEz est vraiment minimale; contrairement à ce que son nom indique, son utilisation n'est pas si "easy" que ça.)
Le petit programme C qui suit affiche @INC. Chez moi ça donne : C:/foo/bar C:/perl58/lib C:/perl58/site/lib . Le répertoire ajouté est donc placé en tête de @INC
Un simple perl -V ne suffirait-il pas à afficher @INC ? Chez moi, si. :-)
Dans l'article <9Lf8f.12709$, a dit...
J'ai créé un module (.pm) qui contient certaines fonctions que j'uti lise souvent. Dans un .pl, je fais un require sur ce module et j'appelle les fonctions. Les deux fichiers sont dans le même repertoire. Quand je la nce le fichier .pl par la ligne de commande, ca fonctionne bien. Cependant, qua nd je le charge à partir de PerlEz (une dll de ActiveState sous win32 pour appeller du perl dans du C ou C++), ca ne fonctionne que si je déplace le fichier .pm dans un repertoire standard pour les .pm, c:perllib par exemple.
Le problème, c'est que je ne veux pas faire cela. Je veux que mon code Perl suive le code C++ associé dans notre outil de versionning (CVS) alors le plus simple serait qu'il soit sous le même repertoire racine. Je doute qu'il y ait une facon de spécifier l'utilisation du bon repertoire, soit qua nd je crée l'interpréteur avec PerlEz, soit avec un fichier de configurati on.
Vous pouvez ajouter un répertoire à @INC à la création l'interpr éteur avec PerlEzCreate exactement comme vous le feriez avec perl en ajoutant un -I< rep> sur la ligne de commande. (Il faut dire que la doc de PerlEz est vraiment minimale; contrairement à ce que son nom indique, son utilisation n'est pas si "easy" que ça.)
Le petit programme C qui suit affiche @INC. Chez moi ça donne : C:/foo/bar C:/perl58/lib C:/perl58/site/lib . Le répertoire ajouté est donc placé en tête de @INC
Un simple perl -V ne suffirait-il pas à afficher @INC ?
Chez moi, si. :-)
Dans l'article <9Lf8f.12709$Nj3.1067868@news20.bellglobal.com>,
martin.labonte.nospam@sympatico.ca a dit...
J'ai créé un module (.pm) qui contient certaines fonctions que j'uti lise
souvent. Dans un .pl, je fais un require sur ce module et j'appelle les
fonctions. Les deux fichiers sont dans le même repertoire. Quand je la nce le
fichier .pl par la ligne de commande, ca fonctionne bien. Cependant, qua nd
je le charge à partir de PerlEz (une dll de ActiveState sous win32 pour
appeller du perl dans du C ou C++), ca ne fonctionne que si je déplace le
fichier .pm dans un repertoire standard pour les .pm, c:perllib par
exemple.
Le problème, c'est que je ne veux pas faire cela. Je veux que mon code Perl
suive le code C++ associé dans notre outil de versionning (CVS) alors le
plus simple serait qu'il soit sous le même repertoire racine. Je doute qu'il
y ait une facon de spécifier l'utilisation du bon repertoire, soit qua nd je
crée l'interpréteur avec PerlEz, soit avec un fichier de configurati on.
Vous pouvez ajouter un répertoire à @INC à la création l'interpr éteur avec
PerlEzCreate exactement comme vous le feriez avec perl en ajoutant un -I< rep>
sur la ligne de commande.
(Il faut dire que la doc de PerlEz est vraiment minimale; contrairement à
ce que son nom indique, son utilisation n'est pas si "easy" que ça.)
Le petit programme C qui suit affiche @INC.
Chez moi ça donne :
C:/foo/bar
C:/perl58/lib
C:/perl58/site/lib
.
Le répertoire ajouté est donc placé en tête de @INC
Un simple perl -V ne suffirait-il pas à afficher @INC ? Chez moi, si. :-)
Dans l'article <9Lf8f.12709$, a dit...
J'ai créé un module (.pm) qui contient certaines fonctions que j'uti lise souvent. Dans un .pl, je fais un require sur ce module et j'appelle les fonctions. Les deux fichiers sont dans le même repertoire. Quand je la nce le fichier .pl par la ligne de commande, ca fonctionne bien. Cependant, qua nd je le charge à partir de PerlEz (une dll de ActiveState sous win32 pour appeller du perl dans du C ou C++), ca ne fonctionne que si je déplace le fichier .pm dans un repertoire standard pour les .pm, c:perllib par exemple.
Le problème, c'est que je ne veux pas faire cela. Je veux que mon code Perl suive le code C++ associé dans notre outil de versionning (CVS) alors le plus simple serait qu'il soit sous le même repertoire racine. Je doute qu'il y ait une facon de spécifier l'utilisation du bon repertoire, soit qua nd je crée l'interpréteur avec PerlEz, soit avec un fichier de configurati on.
Vous pouvez ajouter un répertoire à @INC à la création l'interpr éteur avec PerlEzCreate exactement comme vous le feriez avec perl en ajoutant un -I< rep> sur la ligne de commande. (Il faut dire que la doc de PerlEz est vraiment minimale; contrairement à ce que son nom indique, son utilisation n'est pas si "easy" que ça.)
Le petit programme C qui suit affiche @INC. Chez moi ça donne : C:/foo/bar C:/perl58/lib C:/perl58/site/lib . Le répertoire ajouté est donc placé en tête de @INC
Un simple perl -V ne suffirait-il pas à afficher @INC ? Chez moi, si. :-)
Quel rapport avec la question posée ?
Il s'agit d'ajouter un chemin à @INC dans un *programme C* qui embarque un interpréteur Perl avec PerlEz. L'affichage de @INC n'est là que pour vérification.
Dans l'article <1131179634.439784.180620@g47g2000cwa.googlegroups.com>,
kuzco66@yahoo.fr a dit...
Un simple perl -V ne suffirait-il pas à afficher @INC ?
Chez moi, si. :-)
Quel rapport avec la question posée ?
Il s'agit d'ajouter un chemin à @INC dans un *programme C* qui embarque un
interpréteur Perl avec PerlEz. L'affichage de @INC n'est là que pour
vérification.
Un simple perl -V ne suffirait-il pas à afficher @INC ? Chez moi, si. :-)
Quel rapport avec la question posée ?
Il s'agit d'ajouter un chemin à @INC dans un *programme C* qui embarque un interpréteur Perl avec PerlEz. L'affichage de @INC n'est là que pour vérification.