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 :

afficher numéro ligne


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Par défaut afficher numéro ligne
    Bonjour, j'ai un code qui fait ce que je veux mais j'aimerai qu'en plus il m'affiche de le numéro chaque ligne. J'ai déjà essayé toutes les modifs où il y a un #. Voici le code :

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    #!/usr/bin/perl
    use warnings;
    use strict;
     
    #lemmes anglais
    my $fichier_corpus_en = 'title-abs-en-A61K-medline-tagger.txt';
    my $fichier_en = 'matrice.txt';
    open my $fh_corpus_en, "<", $fichier_corpus_en or die "Impossible de lire $fichier_corpus_en\n";
    open my $fh_en , ">", $fichier_en or die "Impossible de lire $fichier_en\n";
     
    my $id = 0;
     
     
    while (defined(my $ligne = <$fh_corpus_en>)) {
    	chomp ($ligne);
    	my ($token, $cat, $lemme) = $ligne =~ /^([^\t]+)\t+([^\t]+)\t+([^\t]+)$/;
     
    	if ($cat =~ /(NN)|(VB)|(JJ)/ and not $lemme =~ /<unknown>|be|can|use|do|have|make|show|mg|kg|ml/) {
    		$token =~ s/mg.?//g;
    		$token =~ s/kg.?//g;
    		$token =~ s/ml.?//g;
    		$token =~ s/\W/XXX/g;
    		print {$fh_en} $lemme.", ";
     
    	}
    	elsif ($cat =~ /NN/ and $lemme =~ /<unknown>/ and not $token =~ /A61K\d+/) {
    		$token =~ s/mg.?//g;
    		$token =~ s/kg.?//g;
    		$token =~ s/ml.?//g;
    		$token =~ s/\W/XXX/g;
    		print {$fh_en} $token.", ";
     
    	}
    	elsif ($cat =~ /NP/ and $lemme =~ /<unknown>/ and not $token =~ /A61K\d+/) {
    		$token =~ s/mg.?//g;
    		$token =~ s/kg.?//g;
    		$token =~ s/ml.?//g;
    		$token =~ s/\W/XXX/g;
    		print {$fh_en} $token.", ";
     
    	}
    	elsif ($ligne =~ /^A61K\d+/){
    		print {$fh_en} "'$token'\n";
     
    		$id++;
     
    	}
    #	print {$fh_en} "ID".$id." ";
    }
    #print {$fh_en} "ID".$id;
    Je sais que la simple $. permet d'afficher le numéro mais je ne sais pas l'appliquer dans ce cas.


    Merci d'avance de votre aide.

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 184
    Par défaut
    Utilise une variable extérieure (je ne suis pas très amateur des variables d'environnement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    my $nbLigne = 0;
    while ( defined( my $ligne = <$fh_corpus_en> ) ) {
      ++$nbLigne;
      print $nbLigne, " : ", $ligne;
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Par défaut
    merci mais je l'insère où dans mon code ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 77
    Par défaut
    Je voudrais qu'il affiche les numéros de ligne de l'output pas celles qui se réfèrent à l'input.

  5. #5
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 184
    Par défaut
    Dans ce cas, incrémente la variable à chaque "print".

Discussions similaires

  1. Afficher numéro de ligne dans une cellule
    Par Douzout dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/04/2013, 18h52
  2. Réponses: 10
    Dernier message: 03/02/2012, 09h36
  3. Afficher numéro de ligne avec la requête
    Par zimeau dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/01/2012, 14h39
  4. Afficher numéro de ligne sur Eclipse
    Par tit_oune dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 24/10/2011, 15h03
  5. [IDE][VS2003]Comment afficher numéros de lignes du code?
    Par Alexj51 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 01/03/2006, 11h42

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