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 :

optimisation de code


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Par défaut optimisation de code
    salut à tous,

    J'ai une instruction que je trouve trop longue et moche, auriez-vous des idées d'optimisation ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ($admin =~ /[^A-Za-z0-9-\[\]\\\`\^\{\}\_]/ || $admin =~ /^[0-9]/ || length($admin)>32) {
       # ....
    }
    à plus tard

  2. #2
    Membre chevronné
    Avatar de Schmorgluck
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 371
    Par défaut
    Déjà, il y a l'abréviation de classe \w qui peut remplacer [A-Za-z0-9_] et qu'on peut mettre dans une classe. Tant qu'à faire, autant utiliser \d pour remplacer [0-9] également.
    Par ailleurs, tu peux fusionner tes deux regex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($admin =~ /^\d|[^-\w\[\]\\\`\^\{\}]/ || length($admin)>32) {
       # ....
    }
    Ça reste assez moche, il est vrai. Je suis peut-être parti sur une mauvaise piste, il y a sans doute moyen de rendre tout ça plus lisible avec l'option /x.

    EDIT : ah, mais oui, en fait, tu échappes des tas de caractères qui n'ont pas de signification spéciale à l'intérieur d'une classe.
    Du coup, on peut écrire ça comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($admin =~ /^\d|[^-\w\[\]\\`^{}]/ || length($admin)>32) {
       # ....
    }
    C'est encore moche, mais c'est déjà plus respirable.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2007
    Messages : 244
    Par défaut
    Yop,

    merci bien Schmorgluck, en effet c'est déja plus réspirable et c'est exactement ce qu'il me fallait

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Par défaut
    Bonjour,

    Quelqu'un peu me dire à quoi sert cette ligne de code et m'expliquer comment elle fonctionne? Je débute en perl et depuis que j'ai commencé, je n'arrête pas de voir des trucs qui ressemblent à ça : /^\d|[^-\w\[\]\\`^{}]/

    Avouez quand meme que c'est illisible !! Avez-vous un lien à me fournir avec toutes ces explications?

    Ou bien pouvez-vous m'expliquer?

    Merci d'avance,

    Olivier

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

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