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

Contribuez Perl Discussion :

Découpage d’une ligne en perl


Sujet :

Contribuez Perl

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Découpage d’une ligne en perl
    j’ai un petit souci avec PERL, j’ai un fichier en entré d’une ligne de 400 caractères et j’aimerais en faire un fichier de 40 lignes de 40 caractères quelqu’un à t-il une idée.

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Points : 406
    Points
    406
    Par défaut
    Attention, 1 ligne de 400 caractères et 40 lignes de 40 caractères c'est pas du tout la même taille! (mais c'est peut être une erreur de frappe)

    bon on va dire que tu souhaites avoir 10 lignes de 40 caractères et que tu es sûr que la taille de la ligne (400) est fixe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    my $ligne="vfsgjnfdgmlkqsdopjnngdfjhsghoidfngoidfhnnpfodjgndfhgoiijepotjkoprjgnergklnerlknglkrenglknerglknergnrdfghgtrryrthfosqihgiohfqdsoigodfihgoihoidfqhgoishdfoighsdofgindfiogniosdfngindfiognidosfngiondsfoignsdngvfsgjnfdgmlkqsdopjnngdfjhsghoidfngoidfhnnpfodjgndfhgoiijepotjkoprjgnergklnerlknglkrenglknerglknergnrdfghgtrryrthfosqihgiohfqdsoigodfihgoihoidfqhgoishdfoindfiogniosdfngindfiognidosfngiondsfoignsdng"; 
    my $taille=40;
    print length($ligne)."\n";
     
    for (my $deb=0; $deb+$taille<length($ligne); $deb+=$taille){
         my $new_ligne = substr($ligne, $deb, $taille);
         print "$new_ligne\n";
    }
    resultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >perl test.pl
    400
    vfsgjnfdgmlkqsdopjnngdfjhsghoidfngoidfhn
    npfodjgndfhgoiijepotjkoprjgnergklnerlkng
    lkrenglknerglknergnrdfghgtrryrthfosqihgi
    ohfqdsoigodfihgoihoidfqhgoishdfoighsdofg
    indfiogniosdfngindfiognidosfngiondsfoign
    sdngvfsgjnfdgmlkqsdopjnngdfjhsghoidfngoi
    dfhnnpfodjgndfhgoiijepotjkoprjgnergklner
    lknglkrenglknerglknergnrdfghgtrryrthfosq
    ihgiohfqdsoigodfihgoihoidfqhgoishdfoindf

  3. #3
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    oui c'est une erreur, pour le fichier en entré c'est de alphanumérique de longueur variable, un multiple de 40.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Points : 406
    Points
    406
    Par défaut
    si ta ligne est de longueur un multiple de 40 et que tu souhaites des lignes de longueur 40 alors mon script doit fonctionner dans tous les cas.

    Par contre, si la taille peux être 83 par exemple, il faudra gérer le cas où la dernière ligne produite est incomplète.

  5. #5
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Je te remercie ça marche très bien,
    Bonne journée.

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

Discussions similaires

  1. La coordonnée x,y fait-elle partie d’une ligne ?
    Par Stef-78 dans le forum Graphisme
    Réponses: 2
    Dernier message: 15/10/2007, 21h29
  2. [Tableaux] découpage de ligne à la façon "awk"
    Par pascalbout1 dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2007, 13h11
  3. [Tableaux] Découpage en lignes d'un textarea
    Par DJuL- dans le forum Langage
    Réponses: 3
    Dernier message: 05/02/2007, 18h28
  4. Réponses: 5
    Dernier message: 08/08/2006, 03h22
  5. [langage] recuperer le dernier mot dune ligne
    Par kacedda dans le forum Langage
    Réponses: 6
    Dernier message: 29/04/2003, 15h38

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