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 :

Doute sur mon code, découpage de texte


Sujet :

Langage Perl

  1. #1
    Membre du Club Avatar de goblin
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut Doute sur mon code, découpage de texte
    Salut a tous , je suis obligé de découper un texte pour les besoin d'un script, je veut le découper par tranche de 75 caractères j'ai un duote sur la méthode que j'emploie, j'aimerai avoir vos avis

    voici le code de la fonction barbare de découpage a l'arrache du texte

    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
    sub charcuter
    {
    my @lem = ();
    my $len = length $i; 
    my $pos = 0;
    while ( $len > 0 )
    {
      my $m;
      if ( $pos < 1 )
      {
         $m = substr($i, 0, 75);
         $pos++;
      }
       else
      {
         $m = substr($i, $len, 75);
         $len -= 75;
      }
      push @lem, $m;
     }
     return \@lem;
    }

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par goblin
    voici le code de la fonction barbare de découpage a l'arrache du texte
    Je suis au regret de te dire qu'un tel code est barbare et faux

    La méthode de découpage n'est pas correcte.

    Pourquoi faire une alternative, alors qu'une boucle bien gérée peut faire l'affaire (et que substr prend ce qu'il reste quand il en reste moins qu'il ne le veut).

    Voici trois exemples de codes fonctionnels :
    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
    sub decouper1 {
      my $chaine = shift;
      my $lg_decoupe = shift;
      my @mots = ();
     
      my $nb = int(length($chaine)/$lg_decoupe);
      for (my $i=0; $i <= $nb; $i++) {
        push (@mots, substr ($chaine, $i*25, 25));
      }
     
      return \@mots;
    }
     
     
    sub decouper2 {
      my $chaine = shift;
      my $lg_decoupe = shift;
      my @mots = ();
     
      my $nb = int(length($chaine)/$lg_decoupe);
      @mots=map { substr ($chaine, $_*$lg_decoupe, $lg_decoupe)} (0..$nb);
     
      return \@mots;
    }
     
    sub decouper3 {
      my $chaine = shift;
      my $lg_decoupe = shift;
      my @mots = ();
     
      @mots = ($chaine =~ m/.{1,$lg_decoupe}/g);
     
      return \@mots;
    }
    J'ai utilisé, volontairement, trois approches différentes.

    Il existe plein, plein, plein d'autres façons de le faire.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  3. #3
    Membre du Club Avatar de goblin
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    Merci 2Eurocents je met sa dans mes snippets de suite

  4. #4
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Et tant que tu es debout, hop, un clic sur

    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

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

Discussions similaires

  1. [MySQL] Besoin d'un nouveau regard sur mon code
    Par SKone dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/07/2008, 16h45
  2. Demande d'aide sur mon code
    Par b.soufiane dans le forum C++
    Réponses: 6
    Dernier message: 07/12/2007, 16h36
  3. Aide sur mon Code !
    Par b.soufiane dans le forum C
    Réponses: 10
    Dernier message: 07/12/2007, 12h38
  4. petit probleme sur mon code
    Par MORPHEUS50 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/05/2007, 18h16
  5. [FFT] Votre avis sur mon code
    Par deubelte dans le forum C++
    Réponses: 1
    Dernier message: 10/02/2007, 20h14

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