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 :

Passage version perl 5.10 à 5.8.5 sur Ubuntu 9.10 Karmic


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut Passage version perl 5.10 à 5.8.5 sur Ubuntu 9.10 Karmic
    Bonjour,

    J'utilise une distribution de Linux Ubuntu 9.10 Karmic Koala.
    J'ai perl 5.10 installé et j'aimerais passer sous la version 5.8.5.
    J'ai vu plusieurs posts sur des forums qui laissaient entendre que c'était galère.
    [ubuntu] Downgrade Perl 5.10 to 5.8.8 - Ubuntu Forums

    J'ai regardé aussi ce lien donné dans un post précédent:
    http://docs.activestate.com/activepe...ux%20%28x86%29
    Je suis pas convaincu que ça fonctionne sans créer des bugs.

    Si quelqu'un a déjà tenter ça, je veux bien des conseils pour savoir comment procéder.
    Ou alors ? Est il possible d'installer une version perl 5.8 en parallèle sans que cela crée un bordel pas possible?
    Si vous avez de la doc, je suis preneur.

    Merci

  2. #2
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Compile Perl 5.8.5 depuis les sources et installe-le à côté de Perl 5.10, typiquement dans /usr/local/bin. Cela vaudra mieux que downgrader le Perl de ton installation Linux.

    Pourquoi veux-tu faire ça ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Bonsoir,
    merci pour ta réponse.

    Je travaille avec un script codé avec la version 5.8. Il est censé fonctionner sans produire d'erreurs. Je travaille avec la version 5.10 de perl. Alors je me dis que les erreurs viennent peut-être de la différence entre les versions, que sous la vieille version les erreurs que j'ai, n'apparaissent pas...

    Exemple: J'ai une liste avec des numériques et des chaines de caractères. Le programme teste une condition ==1 sur les éléments de cette liste. Or quand il tombe sur une chaine de caractère, il renvoie une erreur en me disant que ce genre de truc est réservé aux numériques.Bon ok mais l'ancien programmeur de ce script m'a assuré qu'il fonctionnait sans erreur et qu'il ne fallait pas le modifier...alors bon chui perplexe.

    Des idées?

  4. #4
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Ah oui, je me rappelle de ton post. Je t'avais répondu.

    D'après le type d'erreur dont tu parlais, il semblait clair que le script a un problème. Et comme je te le disais la compatibilité arrière est (normalement) totale.

    Le script fait-il appel à des modules ? Peux-tu nous le montrer (au moins ce qui provoquent les erreurs, les erreurs bien sûr) ?

    (Apparemment ce que tu as dans l'exemple que tu évoques, c'est un warning, pas une erreur).

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    J'utilise 3 modules.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    use DBI;
    use Bio::EnsEMBL::DBSQL::DBAdaptor;
    use strict;
    J'ai une erreur par exemple à ce niveau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my @start_exon_tries = sort {$main::a <=> $main::b} @exon_transcript_genomic_start;
    L'erreur vient du fait que exon_transcript_genomic_start a une valeur undef au niveau de l'indice zéro de la liste. L'ancien programmeur a rempli cette liste à partir de l'indice 1...
    Une fois que j'enleve la valeur undef, ou que je la remplace par une valeur, l'erreur disparait et le tri se fait sans afficher d'erreur.
    Je n'ai pas l'erreur sous les yeux mais je pourrais te le communiquer demain.

    Donc est-ce que le script s'execute quand même? Est ce que ce sont juste des avertissements? Est ce que je peux les supprimer en changeant de version perl (ça me parait bizarre aussi mais je rame alors bon ?

    Merci pour ton aide.

  6. #6
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Dans ce cas, changer de version Perl pour une version antérieure ne t'apportera rien.

    Ce que tu as là est un warning, du genre "use of non initialized value in sort" ou je ne sais quoi.

    Si tu as besoin de supprimer un élément d'un tableau, utilise splice. Dans ton casTu pourrais bien sûr à cet endroit précis de ton code, simplement rejeter les éléments undef :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    my @start_exon_tries = 
      sort { $a <=> $b } 
      grep { defined }
      @exon_transcript_genomic_start;
    Je ne te recommande pas de commenter le use warnings en début de script.

    Dans tous les cas, pour ce genre de choses passer de Perl 5.10 à Perl 5.8 ne t'apportera rien.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Ok merci.
    Finalement le script tourne jusqu'au bout mais il ressort une tonne de warnings, cela ne bloque pas son execution mais il s'agit quand même bien d'erreurs? Est-ce que je peux me permettre de les laisser ou faut il les corriger?
    Jvais tenter de voir avec l'auteur du script si ça ne pose pas de problèmes de les laisser.

    Merci pour tout.

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

Discussions similaires

  1. Différence entre version perl 5.10 et antérieure
    Par Jane Home dans le forum Langage
    Réponses: 2
    Dernier message: 23/02/2010, 16h47
  2. CFT version Perl
    Par xxxvanouxxx dans le forum Unix
    Réponses: 0
    Dernier message: 28/03/2008, 15h17
  3. Intérêt passage version supérieur, type de donnés
    Par cbroissa dans le forum Requêtes
    Réponses: 1
    Dernier message: 31/10/2006, 16h26
  4. connaitre la version PERL installée
    Par sami_c dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 28/04/2006, 18h53
  5. [TOMCAT] Passage version Tomcat 4.1 à 5.5
    Par Cako19 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 16/01/2006, 15h22

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