comment faire pour demander puis récupérer la saisie de mon clavier pour utilisé ce paramètre dans mon script ?
comment faire pour demander puis récupérer la saisie de mon clavier pour utilisé ce paramètre dans mon script ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part chomp($saisie = <STDIN>);
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Si c'est utile, say
La réponse de philou est celle utilisée à 99%.
En complément, si tu as besoin de faire quelque chose de plus évolué, regarde ceci.
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Il existe aussi un module de saisie de mot de passe : Term::ReadPassword
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Si c'est utile, say
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Autre question, j ai cru que ca marche mais
le prog ca marche mais j ais pas mon fichier de sortie ????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 chomp($saisie = <STDIN>); open(FILE2, ">>${saisie}.txt")|| die "Erreur E/S:$!\n"; ### fichier de sortie
Dans ce contexte, il est souvent souhaitable d'accepter ce genre de paramètre, aussi par ligne de commande (soit en utilisant directement @ARGV, soit en utilisant un module de gestion des options de lancement comme Getopt::Long).
Exemple avec perl 5.10 minimum:
Ton script se tue avec le message d'erreur du die ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 use 5.10.0; chomp(my $in_file = $ARGV[0] // <STDIN>); chomp(my $out_file = $ARGV[1] // <STDIN>);
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Si c'est utile, say
Le souci dans la récupération des fichiers en argument est la gestion des espaces dans les chemins, la conversion des backslash en slash, etc. Le plus propre est d'utiliser les arguments à la linux. Voici un exemple de programme :
Pour appeler ton programme, tu feras
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #!/usr/bin/perl use strict; use warnings; use Getopt::Long; my ( $fichier_in, $fichier_out ) = (); GetOptions( 'in=s' => \$fichier_in, 'out=s' => \$fichier_out, ); unless ( defined $fichier_in and defined $fichier_out ) { print "USAGE : $0 -in fichier_entree -out fichier_sorti\n"; } print "entree : $fichier_in\n"; print "Sorti : $fichier_out\n";Explication : Comment récupérer proprement les arguments de la ligne de commande ?prog.pl -in "C:/fichier.txt" -out "C:/Program Files/tutu.txt"
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
est ce que je dois ajouter le module Getopt ??
Non, le module Getopt::Long, et seulement si tu utilises la solution proposée par djibril
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Si c'est utile, say
c a d
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 use strict; use warnings; use Getopt::Long; my ( $fichier_in, $fichier_out ) = (); GetOptions( 'in=s' => \$fichier_in, 'out=s' => \$fichier_out, ); unless ( defined $fichier_in and defined $fichier_out ) { print "USAGE : $0 -in fichier_entree -out fichier_sorti\n"; } open(FILE2, ">>$fichier_out")|| die "Erreur E/S:$!\n";
en fait j ai pas bien saisie au début
je voulais utiliser
pour récupérer le nom du fichier de sortie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 chomp
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager