Rechercher : dans
Par :

Perl] ../script --opt=val comment récupérer?

Dernière réponse le 10 fév 2006 à 19:02:41 kepon, le 9 fév 2006 à 16:42:12 
 Signaler ce message aux modérateurs

Bonjours j'ai un petit problème assé urgent...

je débute totalement en PERL ... et sous linux je voudrai lancer un script (commande ./script) mais je voudrai définir des option, des valeur, des variable ... (je c'est pa tro comment appeler cela...)

exemple :

./script --option=valeur1



Dans mon scipt perl avoir la valeur1 dans une variable....

Merci de vos réponse rapide... david

Meilleures réponses pour « perl] ../script opt=val comment récupérer? » dans :
Comment récupérer le résultat d'une commande dans une variable Voir Comment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Il est possible de récupérer le code source PHP d'un site VoirMythe Un utilisateur peut récupérer le code source PHP d'un site web comme il peut récupérer le code HTML. Réalité FAUX Explications Les fichiers PHP (ASP, JSP, etc.) sont des fichiers interprétés côté serveur, ce qui signifie que le serveur...
Perl - Caractéristiques du langage VoirFichier source, et interprétation Le fichier source d'un programme écrit en Perl est un simple fichier texte dont l'extension est par convention .pl. Ce fichier source doit être un fichier texte non formatté, c'est-à-dire un fichier texte dans sa...
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Les variables avec Perl VoirConcept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois...

1

hssissen, le 9 fév 2006 à 18:08:05

Salut,
Je ne sais pas si tu veux parler d'arguments de ta commande (ton script), l'idéal c'est que tu nous envoie ton script pour voir plus clair!

@+

Répondre à hssissen

2

jipicy, le 9 fév 2006 à 18:15:21

Salut,

Tiens jette un oeil là : http://articles.mongueurs.net/magazines/linuxmag49.html

Si j'ai bien tout compris sur ce que tu veux, ça devrait donner un truc du genre :

[jp@Mandrake tmpfs]$ cat script_perl.pl

#! /usr/bin/perl -s

$a = $ARGV[0];
$b = $ARGV[1];
$c = $ARGV[2];

print "Les paramètres passés au script sont : @ARGV\n\n";
print "La variable a = $a\n";
print "La variable b = $b\n";
print "La variable c = $c\n";

[jp@Mandrake tmpfs]$ ./script_perl.pl maman papa "et moi"

Les paramètres passés au script sont : maman papa et moi

La variable a = maman
La variable b = papa
La variable c = et moi

[jp@Mandrake tmpfs]$
C'est ce que tu voulais ? Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé. 

Répondre à jipicy

3

kepon, le 10 fév 2006 à 09:59:19

Merci j'ai aussi trouvé mon bonheur avec la fonction : Getopt::Long.

Répondre à kepon

4

jipicy, le 10 fév 2006 à 10:39:15

Happy for you ;-))

Mais alors faut lui dire merci aussi à "lami20j" dans ton autre post :
http://www.commentcamarche.net/forum/affich-2086548#1 Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé. 

Répondre à jipicy

5

 lami20j, le 10 fév 2006 à 19:02:41

Bonsoir,

Merci jipicy.

kepon il ne faut pas confondre une fonction avec un module.
la fonction : Getopt::Long.

En ce cas il s'agit d'un module pas une fonction.

Getopt::Long veut dire que dans le répertoire Getopt tu as le module perl Long.pm

Quand tu appelles un module avec
use Getopt::Long

perl cherche dans le tableau @INC pour voir s'il trouve le chemin vers ce répertoire.

[lamitest@localhost ~]$ perl -e '$"="\n";print "@INC\n";'
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.6
/usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl/5.8.4
/usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.5
/usr/lib/perl5/vendor_perl/5.8.4
/usr/lib/perl5/vendor_perl/5.8.3
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/5.8.6
.
[lamitest@localhost ~]$ find /usr/lib/perl5/ -name 'Getopt'
/usr/lib/perl5/5.8.6/Getopt
[lamitest@localhost ~]$ ls -l /usr/lib/perl5/5.8.6/Getopt/
total 96
drwxr-xr-x  2 root root  4096 déc 20 23:41 Long
-rw-r--r--  1 root root 69870 déc 14 20:22 Long.pm
-rw-r--r--  1 root root  8298 déc 14 20:22 Std.pm
[lamitest@localhost ~]$

Répondre à lami20j