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 :

[langage] problème accolade ou parenthèse


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 69
    Points : 48
    Points
    48
    Par défaut [langage] problème accolade ou parenthèse
    bonjour,

    voilà, j'ai codé ceci :
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    #!/usr/bin/perl
     
    use strict;
    use warnings; 
     
    #######################################################################################
    print "\nSaisissez votre fichier d'entree : ";
    chomp ($FE = <STDIN>); 
    #######################################################################################
    ## coupure de la seq
    sub DICE
    {
    my ($sequence) =@_; my $boucle=0; my @res_dice;
    my $longueur=length($sequence);
    my $lim= $longueur-18;
    	while ($boucle< $lim)
    	{
    	$res_dice[$boucle]=substr ($sequence, $boucle, 19);
    	print "$res_dice[$boucle]\n";
    	$boucle = $boucle + 1;	
    	}
    return (@res_dice);
    }
    #######################################################################################
     
    open IN, "< $FE" or die "erreur fichier: $FE\n";
    my $hdr = '';
    while (1) 
    {
      my $comment = '';
      my $sequence = '';
     
      while(<IN>) 
      {
        chomp; # si saut de ligne on le supprime
     
           if (/^>/)
           {
              if ($hdr eq '' and $comment eq '') {
              $comment = $_;
              next; }
     
            $hdr = $_;
            last;
            }
     
        if ($hdr ne '' and $comment eq '') {
           $comment = $hdr; }
           $sequence .= $_;
      }
     
      if ($comment eq '' and $sequence eq '') {
        last; }
     
    #print "La ref est : $comment\tLa sequence est : $sequence\n";
     print "La ref est : $comment\n"; print "La sequence est : $sequence\n";
     
    my $longueur_seq = length ($sequence);
    print "Longueur de la sequence : $longueur_seq\n";
     
    my @res_dice;
     
    if ($longueur_seq == 19) {@res_dice = $sequence;
    #print "Le tableau res_dice contient la sequence @res_dice\n";
    }
    if ($longueur_seq > 19) { @res_dice = DICE ($sequence);
    #print "@res_dice\n";
    }
     
    foreach $sequence (@res_dice) 
    {
     print $sequence;
    }
     
    }
    close IN;

    et j'obtiens dans mon terminal le message d'erreur suivant,

    Missing right curly or square bracket at ./fichier_fasta.pl line 92, at end of line
    syntax error at ./fichier_fasta.pl line 92, at EOF
    Execution of ./fichier_fasta.pl aborted due to compilation errors (#1)
    (F) The lexer counted more opening curly or square brackets than closing
    ones. As a general rule, you'll find it's missing near the place you
    were last editing.

    Uncaught exception from user code:
    Missing right curly or square bracket at ./fichier_fasta.pl line 92, at end of line
    syntax error at ./fichier_fasta.pl line 92, at EOF
    Execution of ./fichier_fasta.pl aborted due to compilation errors.
    mais je ne vois absolument pas ou il meanque une accolade ou un crochet ou une parenthèse?

    merci de votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Points : 66
    Points
    66
    Par défaut
    fichier_fasta.pl c'est le nom de ce fichier ou ca fait part de ton package 'warnings'.
    Ton fichier est complet ?? car il ne comporte mm pas 92 lignes.

  3. #3
    Jeh
    Jeh est déconnecté
    Membre actif Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 250
    Points
    250
    Par défaut
    Le mieux pour vérifier tes accolades, c'est d'utiliser UltraEdit dernière version (payant) ou Scite (=> ici) qui est gratuit. Ils font la correspondance entre accolades ouvrantes et fermantes.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Points : 66
    Points
    66
    Par défaut
    J'avais ultraedit avant et c vrai kil est bon mais le meilleur editeur gratuit pour moi c'est JEdit et lui ossi il te repere bien t accolades et tt ca mais g verifier ton code avec JEdit et a priori il n'y a pas de probleme de ce coté la 8)

  5. #5
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 867
    Points : 4 873
    Points
    4 873
    Par défaut
    J'ai corrigé ton code de la manière suivante. Pour ma part, tu as oublié de mettre un my, pas de soucis niveau accolades. :
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
     
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
    #######################################################################################
    print "\nSaisissez votre fichier d'entree : ";
    my($FE);
    chomp ($FE = <STDIN>);
    #######################################################################################
    ## coupure de la seq
    sub DICE
    {
    my ($sequence) =@_; my $boucle=0; my @res_dice;
    my $longueur=length($sequence);
    my $lim= $longueur-18;
       while ($boucle< $lim)
       {
       $res_dice[$boucle]=substr ($sequence, $boucle, 19);
       print "$res_dice[$boucle]\n";
       $boucle = $boucle + 1;   
       }
    return (@res_dice);
    }
    #######################################################################################
     
    open IN, "< $FE" or die "erreur fichier: $FE\n";
    my $hdr = '';
    while (1)
    {
      my $comment = '';
      my $sequence = '';
     
      while(<IN>)
      {
        chomp; # si saut de ligne on le supprime
     
           if (/^>/)
           {
              if ($hdr eq '' and $comment eq '') {
              $comment = $_;
              next; }
     
            $hdr = $_;
            last;
            }
     
        if ($hdr ne '' and $comment eq '') {
           $comment = $hdr; }
           $sequence .= $_;
      }
     
      if ($comment eq '' and $sequence eq '') {
        last; }
     
    #print "La ref est : $comment\tLa sequence est : $sequence\n";
     print "La ref est : $comment\n"; print "La sequence est : $sequence\n";
     
    my $longueur_seq = length ($sequence);
    print "Longueur de la sequence : $longueur_seq\n";
     
    my @res_dice;
     
    if ($longueur_seq == 19) {@res_dice = $sequence;
    #print "Le tableau res_dice contient la sequence @res_dice\n";
    }
    if ($longueur_seq > 19) { @res_dice = DICE ($sequence);
    #print "@res_dice\n";
    }
     
    foreach $sequence (@res_dice)
    {
     print $sequence;
    }
     
    }
    close IN;
    J'espère avoir pû t'aider.

    @ ++

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    oui tu m'as très bien aidée. en rajoutant simplement le "my" devant $FE , ca marche, mais je ne comprends pas pourquoi il me disait " Missing right curly or square bracket " dans mon terminal...
    en ttout cas, merci de l'aide

    perlaud

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

Discussions similaires

  1. langage pour supervision à base de rs 232
    Par alertgen dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 23/02/2009, 23h08
  2. problème rs 232
    Par remy059 dans le forum Composants
    Réponses: 4
    Dernier message: 09/08/2006, 13h14
  3. [Comm] Changer les Bauds dans une com RS-232
    Par philippe13 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/01/2006, 11h08
  4. RS 232 envoyer des donnees
    Par psyko_flex dans le forum C
    Réponses: 2
    Dernier message: 22/11/2005, 19h49
  5. Aide sur la RS 232
    Par Andr0 dans le forum C
    Réponses: 5
    Dernier message: 12/04/2005, 14h58

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