IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

[langage] [debutant]Entree standart


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 30
    Points : 35
    Points
    35
    Par défaut [langage] [debutant]Entree standart
    Salut,

    Je suis en train de faire une interface (en mode texte). Et donc je donne le choix a l utilisateur entre differentes options.
    Pour cela je lis sur l entree standart ce que l utilisateur rentre. Par contre j ai un probleme pour sortir de mon programme, car le seul moyen que j ai trouve c'est de fermer l'entree standart sur la reception d'une option et mon programme se termine sur une erreur, ce qui n est pas franchement top .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ./interface.pl
            choix 1
            choix 2
            3 pour sortir
    ------->:3
    Read on closed filehandle <STDIN> at ./interface.pl line 17.

    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    print "\tchoix 1\n";
    print "\tchoix 2\n";
    print "\t3 pour sortir\n";
    print "------->:";
    while ($opt =  <STDIN>){ print "********c 1*****\n" if ($opt == "1");
    		 print "********c 2*****\n" if ($opt == "2");
    			 close (STDIN) if ($opt == "3");
    		     }

    Si quelqu'un connait un meilleur moyen pour sortir de mon interface ca serait le bien venu.

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 574
    Points : 2 017
    Points
    2 017
    Par défaut
    remplace ton close (STDIN) par exit() tout simplement

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 574
    Points : 2 017
    Points
    2 017
    Par défaut
    voici une version différente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    do
    {
        print "Tapez 1, 2 ou 3 : ";
        chomp($_ = <STDIN>);
        $_ = 0 if ($_ !~ /^[123]{1,1}$/);
    } while (! $_);
    if ($_ == 3)
    {
        exit();
    }
    print "vous avez tapé $_\n";

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 30
    Points : 35
    Points
    35
    Par défaut
    Merci

    En fait c etait tout simple, j avais cherche midi a quatorze heure.
    La deuxieme version ca fait plus perl

    A+

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 574
    Points : 2 017
    Points
    2 017
    Par défaut
    Citation Envoyé par toto_titi
    Merci

    En fait c etait tout simple, j avais cherche midi a quatorze heure.
    La deuxieme version ca fait plus perl

    A+
    Non, il y a plus d'une façon de faire en Perl, donc il n'y a pas de version plus Perl qu'une autre

    Par contre, c'est vrai que tu t'étais beaucoup torturé pour rien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [langage] [Débutant] Erreur scalar found
    Par bartmarley dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2005, 11h50
  2. Réponses: 2
    Dernier message: 21/02/2005, 10h42
  3. [langage] [debutant]INET
    Par TNorth dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2005, 05h28
  4. [langage] Lecture de l entree standart + test
    Par toto_titi dans le forum Langage
    Réponses: 2
    Dernier message: 28/07/2003, 15h53
  5. [langage] [debutant] expression reguliere
    Par toto_titi dans le forum Langage
    Réponses: 3
    Dernier message: 01/07/2003, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo