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 :

Variable d'environnement non-défini


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut Variable d'environnement non-défini
    Sous un environnement UNIX, j'utilise un script perl qui vérifie la disponibilité d'URL http et https à l'aide de :

    require LWP::UserAgent;

    Lorsque je veux vérifier la disponibilité d'URL https, avec de lancer mon script je défini la variable d'environnement LIBPATH ainsi :

    LIBPATH='/opt/freeware/lib'

    De cette façon, mon script perl sait où aller chercher les librairies ssl nécessaire pour évaluer un URL https. Tout va bien jusque là.


    J'aimerais éviter d'avoir à définir la variable LIBPATH avant chaque exécution du script PERL, alors je me suis dit que je pourrais définir la variable d'environnement au début de mon script comme ceci :

    $ENV{'LIBPATH'}='/opt/freeware/lib';

    Mais mon script ne cesse de m'indiquer qu'il ne peut évaluer les URLs https. Comme si la variable d'environnement n'était pas pris en considération.... Y a-t-il quelque chose que je puisse faire pour que la variable soit prise en considération?? ou bien dois-je absolument la définir avant de lancer le script PERL ?

    Merci pour votre aide!

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Le chargement de la librairie (ou non) se fait probablement à la compilation de LWP::UserAgent, donc il faut que tu affectes ta variable avant cette compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BEGIN { $ENV{'LIBPATH'}='/opt/freeware/lib'; }
    use LWP::UserAgent;
    --
    Jedaï

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut
    Ma variable d'environnement était déjà défini avant la compilation de LWP::UserAgent, j'ai tout de même essayé avec la syntaxe que tu as proposé et j'obtiens toujours le même problème...!

  4. #4
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Montre le code.

    --
    Jedaï

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    quel est ton environnement Unix?

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Par défaut
    Je travaille sur AIX 5.3....
    Voilà le code:

    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
     
    #!/usr/bin/perl
     
    BEGIN { $ENV{'LIBPATH'}='/opt/freeware/lib'; }
    use LWP::UserAgent;
     
    $url=$ARGV[0];
     
    my $Firefox = "Mozilla/5.0";
    my $response;
    my $ua = LWP::UserAgent->new;
    $ua->agent($Firefox);
     
    $response = $ua->get($url);
     
    if ( $response->is_success) {
      print "SUCCESS\n";
      print $response->status_line, "\n";
    }
    else
    { print "NOT A SUCCESS\n";
      print $response->status_line, "\n";
    }
    fi
    Malgré le fait que la variable soit défini au début du script, je dois absolument la définir avant de lancer mon script autrement j'obtiens le message "501 Protocol scheme 'https' is not supported"...

    La variable LIBPATH permet à mon script de connaître l'emplacement des libraires SSL à utiliser pour évaluer les URLs https.


    Vous aurez remarqué que l'URL est passé en paramètre...

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/12/2011, 18h23
  2. Variables C type non-défini
    Par osman2384 dans le forum Débuter
    Réponses: 1
    Dernier message: 01/04/2011, 00h53
  3. Variable de session non définie
    Par rimbaut dans le forum Langage
    Réponses: 3
    Dernier message: 16/05/2010, 10h49
  4. Variable objet ou variable bloc with non définie
    Par tarbala dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/05/2008, 12h19
  5. Variable d'environnement non reconnu
    Par laclac dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 16/07/2007, 10h02

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