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 :

Perl : Comment faire un menu pour le terminal.


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 41
    Points
    41
    Par défaut Perl : Comment faire un menu pour le terminal.
    Bonjour à tous.

    Savez-vous comment on fait un menu en perl.
    Je sais le faire en shell bash ou ksh mais en perl.
    J'aimerai connaitre la synthaxe de base sur un exemple basique d'affichage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    =================
    Mon super menu
    =================
    1) je vais afficher le mot toto
    2) je vais lister le home de toto
     
    Tapez votre choix (1, 2) :
    ==================
    Je n'ai pas trouver de réponse sur le forum, ni sur google..
    Si vous avez un lien ou autre, merci :o)

    Bonne journée à tous !!

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Qu'entends tu par menu sur ton terminal ? Un GUI interne au terminal, ou une serie de question dans le terminal ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Bonjour et merci djibril.

    L'equivalent de ça mais en Perl.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #!/bin/sh
    echo "Choisir une action:"
    read reponse
    case $reponse in
        a)    echo toto ;;
        b)    ls ;;
        *)    exit;;
    esac

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/usr/bin/perl
    use warnings;
    use strict;
     
    print 'Choisir un nombre : ';
    my $reponse = <STDIN>;
    chomp($reponse);
     
    print "Vous avez choisi : $reponse\n";

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    merci pour ton poste
    ça c'est plus un l'equivalent d'un read en shell.
    Il n'existe un equivalent de case pour creer des menus en perl ?

    Ou je dois faire un appel system externe à chaque fois avec system() ?


    merci.

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    bah excuse moi, mais j'ai testé ton script shell, et je n'ai pas de menu

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    oui en effet, dur dur le reveil lol.
    Bon, je faire un truc carré ce soir digne de devellopez :o)

  8. #8
    Membre actif

    Profil pro
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Points : 211
    Points
    211
    Par défaut Pas de switch officiel en Perl
    Bonjour,
    Il n'existe pas de switch/case en Perl (ou alors des moyen détournés).
    Exemple:
    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
     
    #!/usr/bin/perl
    use strict;
     
    sub printMenu {
    print "
    1/ Choix1
    2/ Choix2
    q/ Quitter l'execution
     
    Entrez votre choix:
    ";
    }
     
    my $response = "";
    while ($response !~ /[qQ]/ ) {
      printMenu();
      $response = <STDIN>;
      chomp($response);
      print "Vous avez choisi : $response\n";
     
      if ( $response == 1) {
            print "Traitement numero1 en cours...\n";
      } elsif ( $response == 2) {
            print "Traitement numero2 en cours...\n";
      } elsif ( $response =~ /[qQ]/ ) {
            print "Au revoir !\n";
      }
      else {
            print "Choix inconnu !\n";
      }
    }
     
    exit 0;

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Sinon, il y a des modules le faisant très proprement
    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 warnings;
    use strict;
     
    use Term::UI;
    use Term::ReadLine;
     
    my $term    = Term::ReadLine->new('prompt');
    my $reponse = $term->get_reply(
      prompt  => 'Choisir un nombre : ',
      choices => [ 'Choix 1', 'Choix 2', 'Choix 3', 'Aucun choix'],
      default => 'Aucun choix',
    );
     
    print "Vous avez choisi : $reponse\n";
    Ce qui t'affiche :
    1> Choix 1
    2> Choix 2
    3> Choix 3
    4> Aucun choix

    Choisir un nombre : [4]: 4
    Vous avez choisi : Aucun choix
    voilà

    Pour apprendre perl pense à lire les cours et tutoriels de formation à Perl : http://perl.developpez.com/cours/

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    ah bah merci, c'est ça que je cherchais :o)
    ça existe donc en Perl, pas besoin de faire du sh pour ça. merci.

  11. #11
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Citation Envoyé par slackuser Voir le message
    ah bah merci, c'est ça que je cherchais :o)
    ça existe donc en Perl, pas besoin de faire du sh pour ça. merci.
    Tout est faisable en Perl, à part le café . N'oublie pas de mettre ton post en résolu si c'est OK. Je vais d'ailleurs rajouter ce code dans les sources de notre rubrique perl.

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

Discussions similaires

  1. Comment faire des etats pour une application web ?
    Par ovh dans le forum Autres outils décisionnels
    Réponses: 6
    Dernier message: 06/07/2021, 04h25
  2. [C#] Comment faire un Menu vertical style 'outlook'?
    Par Eome dans le forum Windows Forms
    Réponses: 7
    Dernier message: 10/09/2008, 10h02
  3. Comment faire un bouton pour envoyer un mail
    Par rafa55 dans le forum Access
    Réponses: 4
    Dernier message: 21/06/2006, 17h43
  4. [Débutant] Comment faire un compteur pour un bouton?
    Par Paulinho dans le forum AWT/Swing
    Réponses: 21
    Dernier message: 07/01/2006, 21h51
  5. Comment faire des menus pour DVD-vidéo
    Par BigBenQ dans le forum Vidéo
    Réponses: 3
    Dernier message: 21/11/2005, 12h37

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