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 :

Ajouter dynamiquement les differentes chaines de caractères.


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 125
    Points : 46
    Points
    46
    Par défaut Ajouter dynamiquement les differentes chaines de caractères.
    Bonjour,
    Est-ce que quelcun pourrait m'aider à trouver la réponse s'il-vouz-plait?
    J'ai 2 fonctions, premiere: push_site qui traite une liste de caracteres et dès qu'elle trouve une chaine de caracteres différente à l'autre, elle met la valeur trouvé dans une liste.
    Et une autre fonction: traiter_donnees qui fait appel à cette premiere fonction chaque fois qu'elle trouve ce 3 caracteres et elle les affiche.

    Maintenant il y a une autre fonction la meme que traiter_donnees mais pour chaque nouvelle chaine de caracteres elle fait autre chose...
    voila un bout de cette fonction:

    if ($grenoble==1) {$total++;}
    if ($site=~m/tun/) {$tun++; }
    if ($site=~m/zav/) {$zav++; }



    et les chaine de caracteres pour le moment il y en a 4 (tun, zav.....)
    mais ca peut etre plus et il faudrait que cela se rajoute dynamiqment dans mon tableaux existant, en sachant encore une fois que la 1ere fonction cherche deja les differentes chaines de ces fameux caracteres dans une liste ....

    Merci en avance!!!!



    @list="";
    sub push_site {
    my ($site)= @_;
    foreach $val(@list) { if ($site =~ /$val/){return @list;}
    }
    push (@list, $site);
    return @list;
    # printf {STDOUT} ( "@list \n" )
    }

    sub traiter_donnees {
    my ($fichier) = @_;
    $lic_total=0;
    $lic_tunis=0;
    chomp $fichier ;
    open (FIC_ENCOURS, "<$fichier") or die "erreur d'accès fichier : $!\n" ;
    # ---- Début du bloc de traitement des donnes -------------
    while (<FIC_ENCOURS>) {
    if ($_ =~ m/ .*CatapultC Synthesis [-]+ (.*) [-]+\n/ ) {
    $SITE38 = $1;
    if ($SITE38 =~ m/GRENOBLE/) { $GRENOBLE_SITE_FOUND = 1 ; }
    else { last;}
    }
    elsif ($_ =~ m/.*--->[\t\s]+[a-z]+[\t\s]+([a-z]{3}). *start (.*) \n/ ) {
    $site = $1;
    $date=$2;
    @retour_list = push_site ($site);
    }
    else {#on fait rien;
    }
    }
    #----Fin du bloc de traitement -------------------------
    $string = sprintf "%20s %3s %3s \n", $dat, $lic_total, $lic_tunis;
    printf {STAT} ("$string");
    close (FIC_ENCOURS);

    #printf ("***@retour_list \n");
    return @retour_list;
    }

  2. #2
    Membre éprouvé Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    utilise la balise code, là ton post est illisible et n'obtiendra par conséquent aucune réponse...

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/02/2013, 18h01
  2. ajouter des espaces à une chaine de caractères
    Par tricette dans le forum Shell et commandes POSIX
    Réponses: 8
    Dernier message: 28/09/2012, 13h09
  3. Réponses: 0
    Dernier message: 31/03/2009, 14h59
  4. Découpage dynamique d'une chaine de caractère
    Par zut94 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/10/2005, 18h49
  5. Réponses: 3
    Dernier message: 10/06/2004, 22h34

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