Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Debutant] Inclure un script dans un autre script

27 réponses
Avatar
Vincent Hiribarren
Bonjour à tous,

j'ai une question assez simple : j'aimerai inclure le contenu d'un
script perl, dans un autre script perl, un peu comme avec un
#include en langage C, ou require() en php.

Comment puis-je faire cela ?

J'ai bien sur parcouru la doc en ligne de perl, cependant, j'ai un
gros probleme avec : je trouve qu'il est parfois assez dur d'y trouver
une information precise, comme ma question au-dessus.

J'y trouve bien potentiellement des solutions à base de créations de
modules perl, mais j'aimerai éviter ça, ne voulant pas forcément
inclure des fonctions, mais plutôt définir des variables globales dans
un fichier externe au fichier principal.

Merci d'avance pour vos réponses.

10 réponses

1 2 3
Avatar
_ANTISPAM_pgenieys
Vincent Hiribarren wrote:


J'ai bien sur parcouru la doc en ligne de perl, cependant, j'ai un
gros probleme avec : je trouve qu'il est parfois assez dur d'y trouver
une information precise, comme ma question au-dessus.


Bonjour,

perldoc -f require

ou

perldoc -f use

A+, Pierre.
-----
posté via http://www.usenetgratuit.com/ plus de 40 000 newsgroups sur le
web.

Avatar
Vincent Hiribarren
(Pierre Génieys) writes:

perldoc -f require

ou

perldoc -f use


Je m'excuse, mais il me semble que ça ne fait pas du tout ce que je
recherche. J'avais déjà un peu essayé de trouver des informations
avec des mots clefs comme "include" ou "require".

use et require sont fait, si je ne m'abuse, pour des modules, et je
veux éviter de passer par ce genre de chose, voulant juste créer
séparemment un fichier contenant des variables qui serait ensuite
exploité par plusieurs scripts. Il n'y a rien de plus simple que de
passer par les modules ?

Avatar
_ANTISPAM_pgenieys
Vincent Hiribarren wrote:

use et require sont fait, si je ne m'abuse, pour des modules, et je ....


# recherche dans la FAQ de perl

perldoc -q require

Found in C:Perllibpodperlfaq8.pod

What's the difference between require and use?
Perl offers several different ways to include code from one
file
into another. Here are the deltas between the various inclusion
constructs:

1) do $file is like eval `cat $file`, except the former
1.1: searches @INC and updates %INC.
1.2: bequeaths an *unrelated* lexical scope on the
eval'ed code.

2) require $file is like do $file, except the former
2.1: checks for redundant loading, skipping already
loaded files.
2.2: raises an exception on failure to find, compile,
or execute $file.
...... etc ....

Require marche aussi bien avec les fichiers et les modules ( bien que les
exemples
soient, souvent, données avec require Module; )

A+, Pierre.

-----
posté via http://www.usenetgratuit.com/ plus de 40 000 newsgroups sur le
web.

Avatar
Vincent Hiribarren
(Pierre Génieys) writes:

Vincent Hiribarren wrote:

use et require sont fait, si je ne m'abuse, pour des modules, et je ....



[...]

Found in C:Perllibpodperlfaq8.pod

What's the difference between require and use?
Perl offers several different ways to include code from one
file into another.


Au temps pour moi, et merci pour les réponses.
Cette partie de la documententation est autrement plus claire que les
explications détaillées de require et de use, et je n'avais pas pensé
à regarder dans la doc sur... les questions fréquemment posées :-)


Avatar
Patrice Karatchentzeff
Vincent Hiribarren writes:

[...]

use et require sont fait, si je ne m'abuse, pour des modules, et je
veux éviter de passer par ce genre de chose, voulant juste créer
séparemment un fichier contenant des variables qui serait ensuite
exploité par plusieurs scripts. Il n'y a rien de plus simple que de
passer par les modules ?


Non malheureusement... tes variables ne seront valables que dans
l'espace où elles auront été déclarées (le fichier de variables). Pour
les appeler, tu as différentes façon mais rien de direct. Hélas.

PK

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       

Avatar
Vincent Hiribarren
Patrice Karatchentzeff writes:

Non malheureusement... tes variables ne seront valables que dans
l'espace où elles auront été déclarées (le fichier de variables). Pour
les appeler, tu as différentes façon mais rien de direct. Hélas.


D'accord, et c'est bien dommage...
Si vos différentes façons ne font pas appels à des modules,
pourriez-vous en donner quelques-unes ?

Je vais me mettre à l'étude des modules (man perlmod :-) ) pour
essayer de m'en sortir, mais si jamais il y a d'autres moyens, je suis
preneur, merci !

Avatar
Patrice Karatchentzeff
Vincent Hiribarren writes:

Patrice Karatchentzeff writes:

Non malheureusement... tes variables ne seront valables que dans
l'espace où elles auront été déclarées (le fichier de variables). Pour
les appeler, tu as différentes façon mais rien de direct. Hélas.


D'accord, et c'est bien dommage...
Si vos différentes façons ne font pas appels à des modules,
pourriez-vous en donner quelques-unes ?


Tu définis « complètement » ta variable :

include "monfichier.pl" ;

my $monfichier::variable ;

Mais c'est lourdingue à coder... et je n'arrive jamais à retrouver ce
que je cherche dans la doc de Perl sans y passer une plombe :-(

AMHA, c'est vraiment la seule limite de Perl qui va à l'encontre du
but de Larry Wall qui consiste à fournir un outil permettant de
s'adapter aux besoins du codeur (et non l'inverse).

PK

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       


Avatar
Vincent Hiribarren
Patrice Karatchentzeff writes:

Tu définis « complètement » ta variable :

include "monfichier.pl" ;

my $monfichier::variable ;


Argh :-/
D'accord, je vois la chose...

Mais c'est lourdingue à coder... et je n'arrive jamais à retrouver ce
que je cherche dans la doc de Perl sans y passer une plombe :-(


Oui :-/
La documentation de perl a beau être abondante, des auto-RTFM dessus,
c'est casse tête, surtout si on recherche quelque chose de précis.

AMHA, c'est vraiment la seule limite de Perl qui va à l'encontre du
but de Larry Wall qui consiste à fournir un outil permettant de
s'adapter aux besoins du codeur (et non l'inverse).


Je ne comprends pas pourtant, c'est quelque chose de simple à faire,
en soit. Si ça n'a pas été fait, c'est qu'il y a bien une
raison... Mais laquelle ?

Avatar
Patrice Karatchentzeff
Vincent Hiribarren writes:

Patrice Karatchentzeff writes:


[..]

AMHA, c'est vraiment la seule limite de Perl qui va à l'encontre du
but de Larry Wall qui consiste à fournir un outil permettant de
s'adapter aux besoins du codeur (et non l'inverse).


Je ne comprends pas pourtant, c'est quelque chose de simple à faire,
en soit. Si ça n'a pas été fait, c'est qu'il y a bien une
raison... Mais laquelle ?


Sais pas mais je serai bien curieux de savoir... J'ai failli envoyer
un courriel à LW il y a quelques mois là-dessus... et puis, je me suis
raviser : si ce n'est pas fait, c'est qu'il doit bien y avoir une
raison valable.

Par contre, c'est une question récurrente et un besoin manifeste...

PK

PS : pour la définition complètement qualifiée de la variable, ce
n'est nécessaire que si tu utilises le pragma strict. Sinon,
l'inclusion suffit. Mais c'est tellement dommage de se priver de
strict...

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       


Avatar
Vincent Hiribarren
Patrice Karatchentzeff writes:

Sais pas mais je serai bien curieux de savoir... J'ai failli envoyer
un courriel à LW il y a quelques mois là-dessus... et puis, je me suis
raviser : si ce n'est pas fait, c'est qu'il doit bien y avoir une
raison valable.

Par contre, c'est une question récurrente et un besoin manifeste...


... et ce n'est pas moi, pauvre petit débutant, qui oserait écrire au
concepteur de tout ce bazzard avant d'en apprendre un peu plus :-)

PS : pour la définition complètement qualifiée de la variable, ce
n'est nécessaire que si tu utilises le pragma strict. Sinon,
l'inclusion suffit. Mais c'est tellement dommage de se priver de
strict...


Ok, merci. Je vais tester tout ça.

1 2 3