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 :

enregistrer retour commande unix dans variable


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut enregistrer retour commande unix dans variable
    Bonjour,

    On sait que la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     system "dnsdomainname";
    permet de renvoyer le nom du domaine en se basant sur la commande unix.

    je souhaite pouvoir enregistrer le resultat de cette commande dans une variable de mon script perl (variable qu'on appellera $domain ).

    Comment dois-je m'y prendre?

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    J'ai en fait créé la fonction suivante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    sub lieu
    {
    	my $domain;
    	my @ligne;
    	my $ile;
    	$domain = qx/dnsdomainname/;
     
    	@ligne = split ".",$domain;
    	if($ligne[0] eq "dirag")
    	{
    		$ile = "MARTINIQUE";
    	}
    	print $ile;
    }
    dnsdomainname renvoit : dirag.meteo.fr

    mais cette fonction ne marche pas. pourquoi?

  3. #3
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Tu devrais écrire le split ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @ligne = split (/\./,$domain);
    Néanmoins, si @ligne ne te sert pas ultérieurement, tu peux directement faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	if($domain =~ /^dirag\./){
    		$ile = "MARTINIQUE";
    	}
    ^: ancre de début qui vérifie que tu es bien au départ de ta variable
    \. : le caractère point qui nécessite le backslash vu que le caractère point est déjà réservé pour signifier 'n'importe quel caractère'.

Discussions similaires

  1. [awk] Commande unix dans une variable
    Par huître dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 02/08/2013, 16h49
  2. Réponses: 3
    Dernier message: 19/06/2007, 11h27
  3. Mettre resultat commande MSDOS dans variable
    Par vpovpo dans le forum Windows
    Réponses: 1
    Dernier message: 05/01/2007, 17h09
  4. commandes unix dans un programme C
    Par thepinguin dans le forum C
    Réponses: 9
    Dernier message: 19/10/2006, 02h11
  5. Réponses: 22
    Dernier message: 09/12/2005, 21h27

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