Bonjours tous le monde
le problème d'aujourd'hui c'set que j'ai créer une fonction dans un script(.pl) et je veux la utiliser dans un autre script (.pl)
Vous avez une idée commet le faire.???
Bonjours tous le monde
le problème d'aujourd'hui c'set que j'ai créer une fonction dans un script(.pl) et je veux la utiliser dans un autre script (.pl)
Vous avez une idée commet le faire.???
Bonjour,
Pour cela tu devrais créer un module (.pm) avec les fonctions dont tu veux te servir dans tes autres scripts.
Ensuite, en important ton module dans ton script .pl, tu pourras utiliser tes fonctions.
Un exemple se trouve ici
Merci Beniou
votre lien est très utile, mais il me faut quelle amélioration
Car j'ai créé une fonction qui parcours les répertoires et cherche les fichiers Excel puis créer pour chaque fichier trouvez un autre d'extension .ptu a cote de lui de mm répertoire trouvé
Et j'ai créé une autre fonction qui fait le traitement sur ces fichiers Excel (copier des infos puis les coller sur le fichier .ptu)
Le problème comment utiliser la sortie de la premier fonction et l'exploiter comme entrée pour d'autre fonction ???
Bonjour,
Est-ce que tu utilises des paramètres d'entrée/sortie pour tes fonctions ?
Si oui, je ne vois pas trop le problème...
Exemple :
1) ta fonction creation_ptu prend en entrée un répertoire et te rend une liste de fichiers modifiés
2) ta fonction traitement_excel prend en entrée une liste de fichiers.
De cette façon tu peux passer en paramètre la liste de fichiers issue de ta fonction creation_ptu à ta seconde fonction traitement_excel.
Bonjour voila mon code
Mon objectif c’est d’avoir une fonction(fonction de parcours ) qui me retourne des chemins de répertoire
La deuxième (fonction d'ouverture)ouvert les Excel qui se trouve dans ces répertoire
La troisième (fonction de traitemet pour chaque fichier)traite la première feuille d’Excel trouvé
La quatrième traite la deuxième feuille d’Excel trouve
.
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 #!/usr/bin/perl; use strict; use File::Find; use OLE; use Win32::OLE::Const 'Microsoft Excel'; my @link_in_win; my @link; my @Name_file; my $Name_file; my $Book; my $Excel; #--------------------------------------------------- print 'debut de repertoire '; my $directory = <STDIN>; chomp $directory; #-----------------fonction de parcours --------------------- find( { wanted => \&process, }, $directory ); sub process { my $link_in_unix = $File::Find::name; $link_in_unix ; push @link_in_win, $link_in_unix; } } #------------------fonction d'ouverture ---------------------- my $link_counter = 0; foreach my $file (@link_in_win) { $link[$link_counter]= $file; chomp($link[$link_counter]); print"$link[$link_counter]\n"; my $Excel = CreateObject OLE 'Excel.Application' or die $!; $Excel->{'Visible'} = 0; $Book = $Excel->Workbooks->Open($link[$link_counter])|| die"link non trouvé"; $Book->Close; open(FILE, ">$link[$link_counter].ptu"); print FILE "this is juste a test \n"; } $link_counter++; #-------------------------fonction de traitemet pour chaque fichier------------- #-------------------------------------------------------------------------------
Hum, j'ai pas tout bien saisis ce que tu souhaitais faire mais je peux te dire comment appeller des fonctions d'un script à l'autre.
Imaginons 2 fichiers, on a une fonction dans "script1" que l'on souhaite appeler dans script2 :
script1.pm
script2.pl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #!/usr/bin/perl package script1; #Crée un package (équivalent à une classe en JAVA) use strict; use warnings; sub fonction1{ #---Ton code--- } 1; #Nécessaire à la fermeture du package
Il est important de définir le fichier *.pm avec le même nom que le package. Le package recensera tout ce qui est en dessous de lui. Sachant que tu peux utiliser un package dans un autre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #!/usr/bin/perl use strict; use warnings; #----Voilà la définition de l'autre fichier (grosso modo c'est l'équivalent du include en C---- use script1; sub fonction2{ my $parametreApasser; my $trucArecuperer; #---Ton code--- $trucArecuperer = script1::fonction1($parametreApasser); #---Ton code--- }
Partager