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] purger $1


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 28
    Par défaut [langage] purger $1
    Bonjour,
    J'ai un petit problème... Quand je fais par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $URL=~/:\/\/www\.([^\.]+)/i;  $last=$1;
     if(!$1) {$URL=~/:\/\/([^\.]+)/i;$last=$1;}
    Si le contenu entre paranthèses est vide (si ca matche pas) dans la première ligne, $1 garde la valeur d'une ancienne expression. Donc, le !$1 ne marche pas alors que l'expression n'a pas marché.
    Est-ce qu'il y a moyen de purger $1 afin qu'il soit à vide avant de lancer la première ligne de code ci-dessus. ou est-ce que vous voyez une autre méthode pour résoudre ce problème?

    Merci de m'éclairer...

    Severine

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Ben d'habitude on fait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     unless($URL=~/:\/\/www\.([^\.]+)/i) {$URL=~/:\/\/([^\.]+)/i;$last=$1;}
    Mais si tu as absolument besoin de mettre des instructions entre la regex et le test, tu pourrais faire un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @last = ($URL=~/:\/\/www\.([^\.]+)/i);
    #instructions
    unless ( @last ) {...}
    Mais j'ai peut-être mal compris ta question et peut-être voudrais tu vraiment que $1 soit vide après la regex si il ne matche rien, dans ce cas, il suffit d'écrire "([^\.]*)" au lieu de "([^\.]+)".

    --
    Jedaï

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 28
    Par défaut
    Merci pour tes réponses Jedai.

    J'ai essayé ta première et troisième solution et ca ne marchait pas. Pourquoi? je ne sais pas...

    Ce que je voulais, c'etait si la première expression ne matche pas, faire la deuxième. Et là, tu m'as inspiré:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if($URL=~/:\/\/www\.([^\.]+)/i) {$last=$1;}
    else {$URL=~/:\/\/([^\.]+)/i;$last=$1;}
    C'était tout bête. J'ai honte....
    --Ca se voit que je suis une débutante???--

    En tout cas, merci beaucoup Jedai

    Severine

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

Discussions similaires

  1. [langage] Je cherche un bon livre ?
    Par Anonymous dans le forum Langage
    Réponses: 13
    Dernier message: 09/04/2003, 13h16
  2. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52
  3. [langage] comment créer des fichiers ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2002, 16h33
  4. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37
  5. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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