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 :

Déclarer des variables ou un double tableau dynamiquement


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Déclarer des variables ou un double tableau dynamiquement
    Bonjour,

    Exposé du problème :
    j'ai un fichier txt formaté de la sorte
    CFG3D 08/17/2009 20:22:56 625 1C58AFP9QM01A062 Main 0
    CFG3D 08/17/2009 20:23:00 625 1C58AFP9QM01A062 Main 0
    CFG3D 08/17/2009 20:23:10 500 1C58AFP9QM01A062 Flyto 0
    CFG3D 08/17/2009 20:23:00 625 1C58AFP9QM01A062 Main 0
    etant donné que je ne connais pas au préalable, les noms de la colonne 5, j'effectue un remplissage de tableau en fonction de ses noms avec split
    ce qui donne un @tableau avec comme valeurs "Main" et "Flyto"

    J'aimerais effectuer une addition des valeurs de la colonne 3 en fonction des valeurs présentes dans le tableau soit
    pour "Main" => une $variable1 = 625+625+625
    pour "Flyto" => une $variable2 = 500 +.....

    questions:
    si j'utilise la solution variable, comment puis je initialiser n $variables en fonction des n valeurs contenues dans le @tableau ?
    si j'utilise un autre @tableau2 pour memoriser les additions, quel est la syntaxe à employer?
    J'ai des mgs d'erreur en ecrivant cela

    while ($i != ((scalar(@tableau))-1))
    {
    if ($tableau2[$i] eq $tableau[4])
    {
    $tableau2[$i]=$tableau2[$i] + $tableau[2]);
    }
    else
    {
    $i++;
    }
    }

    Ya t'il une autre solution?
    Qui peux m'aider ?
    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Essaie d'utiliser les balises CODE, ça sera plus lisible.
    Tu lis ton fichier ligne par ligne.
    Tu split chaque ligne et récupères les 2 valeurs dont tu as besoin.
    Tu remplis un tableau.

    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
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
     
    my %tab;
     
    open my $file, '<', 'chemin' or die $!;
     
    while (my $ligne = <$file>){
    	my ($num, $key) = (split /\s/, $ligne)[3,5];
    	$tab{$key} += $num;
    }
     
    close $file;
     
    foreach my $key (keys %tab){
    	print "$key\t$tab{$key}\n";
    }
    Et voila, c'est aussi simple que cela .
    -- Jasmine --

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

Discussions similaires

  1. détermitation des valeurs extrêmes d'un tableau dynamique
    Par mathrix77 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 11/02/2008, 12h12
  2. [Debutant]Comment déclarer des variables dans un fichier a part
    Par megapacman dans le forum Général Java
    Réponses: 14
    Dernier message: 14/01/2008, 14h32
  3. [Débutant] Comment déclarer des variables et un vecteur ?
    Par valanscu77 dans le forum Assembleur
    Réponses: 4
    Dernier message: 27/03/2007, 19h25
  4. Déclarer des variables inférieures à 8 bits
    Par the_ionic dans le forum C
    Réponses: 7
    Dernier message: 07/02/2007, 10h40
  5. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 13h50

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