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 :

explication de foreach


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 196
    Par défaut explication de foreach
    voila ma question est simple, j'ai compris que le code suivant recherche une url précise dans une page, mais je ne comprends pas comment ça marche.

    A quoi correspond
    'if(/> APPLI2 </){'
    'if(/(http.*CODLOOK=0)/){'

    que contiens $1 exactement?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @oc=split('\n',$ResultaRequete);
    foreach(@oc){
    	if(/> APPLI2 </){
    		if(/(http.*CODLOOK=0)/){
    			print $1;
    			$httpurl=$1;
    			last;
    		}
    	}
    }
    voila je vous pose cette question car j'ai besoin de faire le même type de recherche mais je n'arrive pas à adapter ce code pour ma page html?!

    voila tout.
    Merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    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 603
    Par défaut
    Pour expliquer le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @oc=split('\n',$ResultaRequete);
    foreach(@oc){
    	if(/> APPLI2 </){
    Pour chaque élément se trouvant dans @oc, si l'élément contient la chaîne > APPLI2 <, alors on rentre dans le if suivant qui est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		if(/(http.*CODLOOK=0)/){
    			print $1;
    			$httpurl=$1;
    			last;
    		}
    	}
    }
    Si ce même élément contient la chaîne http suivie de 0, 1 ou plusieurs caractères (.*) suivie de la chaîne CODLOOK=0... Note l'emplacement des parenthèses. Grâce à elles, Perl va mémoriser dans une variable temporaire la chaîne encapsulée par les ( ) et stocker le contenu dans la variable $1.

    Ici, et si la condition des deux if est vraie, $1 pourrait très bien contenir http://www.developpez.net/CODLOOK=0

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 196
    Par défaut
    un grand merci pour cette réponce qui m'a bien aidé!

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

Discussions similaires

  1. [Foreign Key] Besoin d'explication.
    Par Andry dans le forum Débuter
    Réponses: 4
    Dernier message: 28/05/2003, 11h34
  2. pointeurs (explications)
    Par isidore dans le forum C
    Réponses: 4
    Dernier message: 18/04/2003, 10h41
  3. Explication procédure stockée
    Par underworld dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2002, 10h51
  4. Recherche code d'un fifo,ou explication
    Par don-diego dans le forum C
    Réponses: 8
    Dernier message: 25/07/2002, 10h26
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

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