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 :

lire le contenu d'un fichier


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut lire le contenu d'un fichier
    bonjour,
    dans un prog je recupere le contenu d'un fichier ds un variable, se variable est passer a un sous prog.
    comment je peux lir le contenu ligne par ligne de se variable?
    merci.

  2. #2
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    montre nous ton script!!!

  3. #3
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    je recupere le contenue d'une page web. ce dernier je le passe a la fonction ci_desous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       sub get_links_banniers{
            my $ligne  =  shift(@_);
            print  "http://rextopia.com$1\n"  if( $ligne =~ m/<a href="(\/publishers\/display_affiliate_banner_stats.html\?program_id=.*)">(.*)<\/a>/ )  ;
       }
    mais il consider le contenu de la variable passer comme un seul string.

  4. #4
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    le code complet!!!!!!!!!!!!!!!
    comment pas tu l'info à ta fonction!!!

  5. #5
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    je passe la var comme ça:

    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
     
     
        #!/usr/bin/perl -w -i.bak
     
          use strict;
          use WWW::Mechanize;
          use LWP::Debug qw(+);
     
          sub get_links_banniers{ 
            my $ligne  =  shift(@_); 
            print  "http://rextopia.com$1\n"  if( $ligne =~ m/<a href="(\/publishers\/display_affiliate_banner_stats.html\?program_id=.*)">(.*)<\/a>/ )  ; 
       }
     
     
          my $m = WWW::Mechanize->new();
          $m->get($url);
          get_links_banniers($m->content);

  6. #6
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Citation Envoyé par rootdaoud
    je passe la var comme ça:

    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
     
     
        #!/usr/bin/perl -w -i.bak
     
          use strict;
          use WWW::Mechanize;
          use LWP::Debug qw(+);
     
          sub get_links_banniers{ 
            my $ligne  =  shift(@_); 
            print  "http://rextopia.com$1\n"  if( $ligne =~ m/<a href="(\/publishers\/display_affiliate_banner_stats.html\?program_id=.*)">(.*)<\/a>/ )  ; 
       }
     
     
          my $m = WWW::Mechanize->new();
          $m->get($url);
          get_links_banniers($m->content);
    verifie ce qu'il y a dans en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my $mon_texte = $m->content;
    print $mon_texte;
    si c'est ok,
    alors tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get_links_banniers($mon_texte);

  7. #7
    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
    Pourquoi voudrais-tu lire la variable ligne à ligne ? Ca n'a pratiquement aucun intérêt dans ton cas.

    --
    Jedaï

  8. #8
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    j'ai verifiee ca, mais le probleme persist.

  9. #9
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    j'ai voulais eviter le faite de recuperer le contenu ds un fichier puis le consulter pour recuperer les liens.

  10. #10
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    tu dois avoir de \n dans ta variable, mais c'est le but de ton script?

  11. #11
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    j'ai pas compris djebril.
    mais mon but c'est de recuperer quelque liens a partir d'une page web. puis consulter un par un ces liens.

  12. #12
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    au fait, t'as quoi comme reponse???
    des message d'erreur ou non, sinon ça peu venir de ta regex!![/code]

  13. #13
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    je recupere une seul ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    http://rextopia.com/publishers/display_affiliate_banner_stats.html?program_id=608&offset=0&start_date=2005-08-31&end_date=2005-08-31
    .
    mais je pense qu'il y a un probleme ds l'expression regulier.
    je dois verifier le syntax.

  14. #14
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    bon je pense que tu te melange les pedales.
    recupere un fichier html (donc avec le \n)
    on va faire un script plus long et tu comprendras:
    fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    my $answer = $r->content;
    open (RECUP, ">test.txt") || die "impossible de creer le fichie $!";
    print RECUP $answer;
    close (RECUP);
    affiche nous le contenu de fichier test.txt

  15. #15
    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
    Non, il veut dire qu'il n'obtient qu'un seul résultat avec sa regex, ce qui est assez compréhensible puisqu'il n'utilise pas /g...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sub get_links_banniers{
            my $ligne  =  shift(@_);
            print  "http://rextopia.com$1\n"  while ( $ligne =~ m/<a href="(\/publishers\/display_affiliate_banner_stats.html\?program_id=.*)">(.*)<\/a>/g )  ;
    }
    --
    Jedaï

  16. #16
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    +1
    toutes ces lignes pour un g

  17. #17
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    merci les amis,
    j'ai resolut le probleme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       sub get_links_banniers{
            my $ligne  =  $_[0];
            while( $ligne =~ m/<a href="(\/publishers\/display_affiliate_banner_stats.html\?program_id=.*)">(.*)<\/a>/ )  {
               $ligne =~ s/<a href="(\/publishers\/display_affiliate_banner_stats.html\?program_id=.*)">(.*)<\/a>//;
               print  "http://rextopia.com$1\n";
            }
       }
    je sais que c'est pas tres propre, si vous avez une sugestion je suis a l'ecoute, par ce que je suis assez experimenter en perl.

  18. #18
    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
    Citation Envoyé par rootdaoud
    si vous avez une sugestion je suis a l'ecoute, par ce que je suis assez experimenter en perl.
    J'imagine que tu voulais écrire inexpérimenté, non ?
    Relis mon message quelque post plus haut pour une bonne solution (la tienne donne le résultat mais elle est assez lourde et innefficiente).

    --
    Jedaï

  19. #19
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut

    oui c'est ca amigo inexpérimenté bien sur .
    merci

  20. #20
    Membre confirmé Avatar de rootdaoud
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    oui jedai,
    ton code marche tres bien , je m'exuse d'avoir dis qu'il ne marche pas par ce que j'ai pas remarquer le while.
    merci :o

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

Discussions similaires

  1. Lire le contenu d'un fichier PDF
    Par skywaukers dans le forum Delphi
    Réponses: 6
    Dernier message: 18/07/2006, 12h01
  2. Lire le contenu d'un fichier xml
    Par Invité dans le forum Bibliothèques
    Réponses: 4
    Dernier message: 10/01/2006, 19h13
  3. Comment lire le contenu d'un fichier ?
    Par AsmCode dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 24/11/2005, 08h17
  4. [FPDF] Lire le contenu d'un fichier PDF, possible ?
    Par Mister Nono dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 06/11/2005, 18h47
  5. [Fichier] Lire le contenu d'un fichier
    Par bart64 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 19/09/2004, 18h18

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