Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

[Perl] Push, shift et les differentes version de Perl



  1. #1
    MaliciaR

    [Perl] Push, shift et les differentes version de Perl


    ------

    Hello, tout le monde,

    Voila, je me suis mise a Perl depuis hier a peu pres
    Et voila un truc marrant : j'ai ce pitit script (personne ne hurle que je devrais utiliser les pragma strict et warnings, pour l'instant j'en suis pas la dans le livre) :
    Code:
     
    #!/usr/bin/perl -w
    #Pour placer le premier élément à la fin du tableau :
     
    @bases = ('A', 'T', 'C', 'G');
    $base2 = shift @bases;
    push(@bases, $base2);
    print @bases, "\n\n";
    exit;
    Donc, la sortie attendue est TCGA.
    Or, lorsque j'utilise la version 5.10 de Perl, j'ai comme sortie ATCG. Mais si j'utilise la version 5.8.8, j'ai la bonne sortie

    Quelqu'un a une pitite idee pourquoi?

    Merci

    -----
    An expert is one who knows more and more about less and less.

  2. Publicité
  3. #2
    Philou67

    Re : [Perl] Push, shift et les differentes version de Perl

    Etrange malicia, j'ai bien tcga avec la 5.10
    Edit : au passage, tu utilises déjà le pragma warning avec l'option -w
    :'( Plus j'apprends, et plus je mesure mon ignorance

  4. #3
    MaliciaR

    Re : [Perl] Push, shift et les differentes version de Perl

    Citation Envoyé par Philou67 Voir le message
    Etrange malicia, j'ai bien tcga avec la 5.10
    Edit : au passage, tu utilises déjà le pragma warning avec l'option -w
    Beh ecoute...
    J'y comprends rien du coup et ca m'enerveuh...

    Sinon, j'ai lu que :
    Code:
    use warnings;
    s'appelle pragme warning, c'est pour ca
    An expert is one who knows more and more about less and less.

  5. #4
    Philou67

    Re : [Perl] Push, shift et les differentes version de Perl

    Citation Envoyé par MaliciaR Voir le message
    Beh ecoute...
    J'y comprends rien du coup et ca m'enerveuh...
    Sur quelle plateforme ?
    Sinon, j'ai lu que :
    Code:
    use warnings;
    s'appelle pragme warning, c'est pour ca
    Extrait de perldoc warnings
    Code:
    DESCRIPTION
           The "warnings" pragma is a replacement for the command line flag "-w",
           but the pragma is limited to the enclosing block, while the flag is
           global.  See perllexwarn for more information.
    :'( Plus j'apprends, et plus je mesure mon ignorance

  6. A voir en vidéo sur Futura
  7. #5
    MaliciaR

    Re : [Perl] Push, shift et les differentes version de Perl

    Merci pour l'extrait

    Sinon, pas compris de quelle plateforme tu parlais...
    An expert is one who knows more and more about less and less.

  8. #6
    Philou67

    Re : [Perl] Push, shift et les differentes version de Perl

    Linux, Windows ?
    et sous Windows, Cygwin ou Activestate.
    Bon, je dis ça, j'ai qu'une plateforme dispo
    :'( Plus j'apprends, et plus je mesure mon ignorance

  9. Publicité
  10. #7
    Philou67

    Re : [Perl] Push, shift et les differentes version de Perl

    D'ailleurs, comment fais-tu pour comparer les deux versions de perl ? Elles sont résidentes simultanément ou tu alternes ?
    Edit : as-tu essayé de mettre un print @bases, "\n\n";
    entre le shift et le push ?
    :'( Plus j'apprends, et plus je mesure mon ignorance

  11. #8
    MaliciaR

    Re : [Perl] Push, shift et les differentes version de Perl

    Ah oki
    En fait, j'ai une 5.8.8 a la maison sous Ubuntu Hardy et une 5.10 sous Ubuntu Ibex au labo.
    Je n'ai pas tente de mettre print @bases, "\n\n" entre, non, mais j'essaierai demain.

    Je suis d'accord que ce n'est pas grave, mais c'est tout de meme curieux
    An expert is one who knows more and more about less and less.

  12. #9
    Towl

    Re : [Perl] Push, shift et les differentes version de Perl

    Chez moi aussi aucun soucis, avec perl 5.8.8 et 5.10, que ce soit sous Gentoo ou sous FreeBSD.

    D'ailleurs, comment fais-tu pour comparer les deux versions de perl ? Elles sont résidentes simultanément ou tu alternes ?
    Pour beaucoup de logiciels de développement, il est courant de disposer de plusieurs versions simultanéments sur le même ordinateur. Cela se fait d'une manière simple, chaque version est installée séparément.
    Ex :
    - perl 5.8.8 installe son environnement dans /usr/local/lib/perl-5.8.8 et installe l'executable /usr/local/bin/perl-5.8.8
    - perl 5.10 installe son environnement dans /usr/local/lib/perl-5.10 et installe l'executable /usr/local/bin/perl-5.10

    Ensuite, un lien est crée entre la version par défaut de perl et le fichier perl : par exemple entre /usr/local/bin/perl-5.10 et /usr/local/bin/perl pour utiliser perl 5.10 par défaut.

    Ensuite, pour executer l'une ou l'autre des version, il suffit de tapper la commande exacte, a savoir perl-5.10 <fichier perl> pour le perl-5.10 et perl-5.8.8 <fichier perl> pour le perl 5.8.8


    Et sinon, bon courage MaliciaR pour ce langage abscon qu'est le perl
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  13. #10
    MaliciaR

    Re : [Perl] Push, shift et les differentes version de Perl

    Citation Envoyé par Towl Voir le message
    Chez moi aussi aucun soucis, avec perl 5.8.8 et 5.10, que ce soit sous Gentoo ou sous FreeBSD.
    Pouet Je savais bien que j'envoyais des ondes particulieres aux pc en proximite immediate, mais la...


    Citation Envoyé par Towl Voir le message
    Ensuite, un lien est crée entre la version par défaut de perl et le fichier perl : par exemple entre /usr/local/bin/perl-5.10 et /usr/local/bin/perl pour utiliser perl 5.10 par défaut.

    Ensuite, pour executer l'une ou l'autre des version, il suffit de tapper la commande exacte, a savoir perl-5.10 <fichier perl> pour le perl-5.10 et perl-5.8.8 <fichier perl> pour le perl 5.8.8
    Comment tu fais ce lien en fait? Parce que j'ai la version 5.8.8 que j'utilise a la maison et je viens de telecharger le code source pour la 5.10 dont j'ai mis le dossier extrait au meme endroit.


    Citation Envoyé par Towl Voir le message
    Et sinon, bon courage MaliciaR pour ce langage abscon qu'est le perl
    Merci Clair, je prefere python... Le truc est que j'ai vraiment besoin de Perl. C'est bete, mais je suis capable de faire les choses qui me sont demandees en shell... M'enfin
    An expert is one who knows more and more about less and less.

  14. #11
    Towl

    Re : [Perl] Push, shift et les differentes version de Perl

    Pouet Je savais bien que j'envoyais des ondes particulieres aux pc en proximite immediate, mais la...
    En même temps, tu le cherche en utilisant Ubuntu <s'enfuit discretement avant de se faire tapper dessus>

    Comment tu fais ce lien en fait? Parce que j'ai la version 5.8.8 que j'utilise a la maison et je viens de telecharger le code source pour la 5.10 dont j'ai mis le dossier extrait au meme endroit.
    Hum par défaut, les distrib le font toutes seules proprement. Mais si tu l'installes à partir des sources, c'est à toi de le configurer. Pour les répertoire, je te conseille de regarder où sont des librairies perl (sous buntu, je dirais dans /lib/perl-XXX)

    Donc je dirais, pour faire ca proprement :
    Code:
    #cp perl-5.10.0.tar.gz /usr/src
    #cd /usr/src
    #tar zxf perl-5.10.0.tar.gz
    #cd perl-5.10.0
    #sh Configure
    [... et la tu réponds aux questions ;)]
    #make
    #make install
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  15. #12
    MaliciaR

    Re : [Perl] Push, shift et les differentes version de Perl

    Vu donc que ma version 5.10 n'est pas compilee, c'est normal que ca fasse pas de lien.

    Citation Envoyé par Towl
    Donc je dirais, pour faire ca proprement :


    Code:
    #cp perl-5.10.0.tar.gz /usr/src
    #cd /usr/src
    #tar zxf perl-5.10.0.tar.gz
    #cd perl-5.10.0
    #sh Configure
    [... et la tu réponds aux questions ;)]
    #make
    #make install
    C'est ce que j'etais en train d'essayer de faire... mais au mauvais endroit... Decidement, il faut que je fasse un :
    Code:
    sudo apt-get install cerveau-fonctionnel
    avant
    An expert is one who knows more and more about less and less.

  16. Publicité
  17. #13
    Coincoin

    Re : [Perl] Push, shift et les differentes version de Perl

    Code:
    $sudo apt-get install cerveau-fonctionnel
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    E: Le paquet cerveau-fonctionnel est en conflit avec le paquet biologiste


    T'as pas moyen d'installer le paquet de la 5.10 sans mettre à jour la 5.8.8 ?
    Encore une victoire de Canard !

  18. #14
    MaliciaR

    Re : [Perl] Push, shift et les differentes version de Perl

    Citation Envoyé par Coincoin Voir le message
    Code:
    $sudo apt-get install cerveau-fonctionnel
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    E: Le paquet cerveau-fonctionnel est en conflit avec le paquet biologiste



    Citation Envoyé par Coincoin Voir le message
    T'as pas moyen d'installer le paquet de la 5.10 sans mettre à jour la 5.8.8 ?
    Beh c'est ce que j'ai fait je crois. Cad que j'ai garde ma v5.8.8 (installee gentiment par Synaptic) et ai installe le code source de la 5.10.0. Je l'ai compilee et lorsque je demande perl -v, j'obtiens v5.8.8.
    En revanche, je ne sais plus ce que j'ai foutu avec les differents fichiers parce que le lien ne se fait pas...

    Mais je verrai ca demain. Bonne nuit
    An expert is one who knows more and more about less and less.

  19. #15
    Coincoin

    Re : [Perl] Push, shift et les differentes version de Perl

    Je parlais d'installer par les paquets. Pour certains logiciels, tu peux faire coexister deux paquets, si la différence de version est grande (exemple extrême : KDE 4 n'écrase pas KDE 3).
    Par les sources, ça devrait marcher aussi. Mais du coup c'est à toi de tout faire...
    Encore une victoire de Canard !

  20. #16
    Towl

    Re : [Perl] Push, shift et les differentes version de Perl

    Normalement, toute bonne distrib garde les version précedentes pour les compilateurs / interpréteurs.
    Actuellement, je dois avoir 2 version de gcc, 4 ou 5 de python, 2 de perl....
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

Discussions similaires

  1. Pour un cousin : 150/750 Perl Vixen
    Par Nolansama dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 5
    Dernier message: 28/12/2008, 22h07
  2. [PERL] Remplacement d'une fil d'attente
    Par johnkro dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 16/06/2008, 14h30
  3. Lunette Perl 52/600 Années 80
    Par THEALLIER dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 2
    Dernier message: 07/03/2007, 10h30
  4. Des nanotubes perlés de carbone
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 1
    Dernier message: 24/02/2005, 16h42
  5. script perl
    Par rieneant dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 25/12/2004, 17h42
Découvrez nos comparatifs produits sur l'informatique et les technologies.