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 :

[Perl 5.24][Passage d'arugment] - ça fonctionne plus


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 18
    Par défaut [Perl 5.24][Passage d'arugment] - ça fonctionne plus
    Bonjour,

    j'ai un script qui contient un passage d'argument et qui fonctionnait sur mon pc précédent.

    après recopie des données et nouveau link du bin du Perl.exe, ce script ne récupère plus les valeurs des arguments passés !

    avant toute chose, j'ai testé d'autres scripts qui fonctionnent parfaitement (mais qui n'ont pas de passage d'argument).

    En fait, même un bête script de 3 lignes ne récupère plus les arguments passés.

    Auriez-vous une piste, svp, car là je sèche ?

    Voici un extrait de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #!C:\Users\A454222\Documents\_Apps\Perl64\bin\ -s
     
    use strict;
    use warnings;
     
    our($TestArg) ;
     
    print ("TestArg = { $TestArg }") ;
    et le retour :

    C:\Users\A454222\Documents\__Dev Perl\__TestScript>TestScirpt.pl -TestArg=3
    Use of uninitialized value $TestArg in concatenation (.) or string at C:\Users\A454222\Documents\__Dev Perl\__TestScript\TestScirpt.pl line 11.
    TestArg = { }

  2. #2
    Membre expérimenté

    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 329
    Par défaut
    Salutations...

    Je n'ai pas l'impression dans ce que tu montres que tu récupères les paramètres...

    Pour récupérer le nombre de paramètres...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($cpt=0;$cpt<$parametres;$cpt++)
    {
      print "Param: ".$ARGV[$cpt]."\n";
    }
    ...pour les afficher.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 18
    Par défaut
    Bonjour Hurukan,

    merci de ta réponse.

    normalement, la ligne doit récupérer l'argument passé en -TestArg, non ?

    lorsque l'on utilise avec le "-s", il faut prohiber l'utilisation de "my" et préférer "our" ... d'après ce que j'avais lu à l'époque.

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Normalement ça devrait marcher, est ce que tu es sûr de tester/éditer le bon script:
    ... __TestScript\TestScirpt.pl ...

  5. #5
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #!C:\Users\A454222\Documents\_Apps\Perl64\bin\ -s
    Ou alors c'est le fait qu'il n'y ait pas le nom de l'exécutable (perl.exe) dans le path de ton shebang qui fait que ton option -s tombe dans le néant (j'imagine que sous Windows, l'extension .pl doit suffir à associer ton script à l'exécutable perl, ce qui fait qu'il s'exécute malgré tout.).

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 18
    Par défaut
    Oui, j'avais vu l'inversion des lettres mais ce n'est pas ça le problème.

    Et concernant la ligne shebang, je n'ai jamais mis le Perl.exe et mon script fonctionnait sur mon autre PC.

    Par acquis de conscience, j'ai modifié en mettant bien TestScript et en ajoutant Perl.exe mais cela ne change rien au résultat.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/06/2010, 19h33
  2. Réponses: 1
    Dernier message: 30/09/2009, 12h42
  3. Réponses: 8
    Dernier message: 11/10/2006, 16h41
  4. Réponses: 5
    Dernier message: 23/08/2006, 21h51
  5. CSS ne fonctionne plus depuis le passage au XHTML
    Par Cr@zyDeep dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 27/09/2005, 14h42

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