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

Programmation et administration système Perl Discussion :

tag d'un fichier à un autre


Sujet :

Programmation et administration système Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut tag d'un fichier à un autre
    Bonjour,
    Pour améliorer mon script http://www.developpez.net/forums/d14...r-fichier-pac/ que je souhaite simplifer, je voudrais mettre en place un système de tags.
    C'est à dire que dans mon fichier template il y aura des tags qui pointeront vers un fichier properties qui lui aussi contiendra les même tags.
    Ansi je ne touche pas au template, et le seul fichier auquel je touche serait le fichier properties (quelque lignes).

    mon fichier template :
    function FindProxyForURL(url, host)
    {
    // Direct connections to non-FQDN hosts
    if(isPlainHostName(host))
    { return "TAG1"; }
    // Otherwise use proxy Bureautique
    else return "TAG2";
    }
    dans le fichier properties :
    switch ($ARGV[1]){
    case RD { TAG1=DIRECT; TAG2=INTERNET;}
    case RA { TAG1=INTERNET; TAG2=DIRECT;}
    }
    perl properties.pl RD
    devrait nous rendre :
    function FindProxyForURL(url, host)
    {
    // Direct connections to non-FQDN hosts
    if(isPlainHostName(host))
    { return "DIRECT"; }
    // Otherwise use proxy Bureautique
    else return "INTERNET";
    }

    Bon ce n'est qu'une reflexion, mais je voudrais avant tout savoir si c'était possible de faire quelquechose dans le genre? et si oui, comment le metttre en place?

    et je suppose qu'il faudra un perl a mettre en place pour lier les 2 fichiers, mais je ne sais pas du tout comment.

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Tu as été largement passif dans ton dernier thread, désolé, ça ne m'incite pas à essayer de te pondre l'algo, le code et à te fournir tout sur un plateau.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  3. #3
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    Bonjour,
    Ce que je voudrais c'est savoir quelle methode utiliser pour créer un alias entre mon template et mon fichier de properties...

  4. #4
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    Bon voici ce que j'ai fait :
    Mais je n'ai toujours pas la réponse à ma question qui est, comment faire pour chercher une valeur (par exemple __PROXY_DEBRANCHE_VALID__.) dans mon fichier properties.txt aller chercher la valeur qui suit le "=" en fonction du nom du fichier.pac (par exemple "aaa" pour valid2) et remplacer ce __PROXY_DEBRANCHE_VALID__ du template.txt par sa valeur (nnn)?

    generateur_pac.pl :
    my $psw1_valid_ipp1="$ARGV[1]-psw1-valid-ipp1.pac"
    my $psw1_valid_ipp2="$ARGV[1]-psw1-valid-ipp2.pac"
    my $psw1_valid1_ipp1="$ARGV[1]-psw1-valid1-ipp1.pac"
    my $psw1_valid1_ipp2="$ARGV[1]-psw1-valid1-ipp2.pac"
    my $psw1_valid2_ipp1="$ARGV[1]-psw1-valid2-ipp1.pac"
    my $psw1_valid2_ipp2="$ARGV[1]-psw1-valid2-ipp2.pac"
    my $psw1_valid3_ipp1="$ARGV[1]-psw1-valid3-ipp1.pac"
    my $psw1_valid3_ipp2="$ARGV[1]-psw1-valid3-ipp2.pac"
    my $psw2_valid_ipp1="$ARGV[1]-psw2-valid-ipp1.pac"
    my $psw2_valid_ipp2="$ARGV[1]-psw2-valid-ipp2.pac"
    my $psw2_valid1_ipp1="$ARGV[1]-psw2-valid1-ipp1.pac"
    my $psw2_valid1_ipp2="$ARGV[1]-psw2-valid1-ipp2.pac"
    my $psw2_valid2_ipp1="$ARGV[1]-psw2-valid2-ipp1.pac"
    my $psw2_valid2_ipp2="$ARGV[1]-psw2-valid2-ipp2.pac"
    my $psw2_valid3_ipp1="$ARGV[1]-psw2-valid3-ipp1.pac"
    my $psw2_valid3_ipp2="$ARGV[1]-psw2-valid3-ipp2.pac"


    on remplace les tags __PROXY_LENET__, __PROXY_BACKUP__, __PROXY_DIRECT__ par leurs valeurs cf properties.txt

    switch($ARGV[1]){
    case('campus'){on remplace les tags variables (__PROXY_WEB_PACK__, __PROXY_INTERNET__) associées à campus cf properties.txt}
    case('rd'){}
    case('ekino'){}
    case('steria'){}
    }

    grep(la chaine qui suit le 1er "-" du fichier.pac) et je prend la chaine qui vient jusqu'au prochain "-" puis remplacer __PROXY_PSW__ du template.txt (grep) par la valeur associée dans properties.txt
    grep(la chaine qui suit le 2ème "-" du fichier.pac) et je prend la chaine qui vient jusqu'au prochain "-" puis remplacer __PROXY_DEBRANCHE_VALID__ du template.txt (grep) par la valeur associée dans properties.txt
    grep(la chaine qui suit le 3ème "-" du fichier.pac) et je prend la chaine qui vient jusqu'au "." puis remplacer __PROXY_IPP__ du template.txt (grep) par la valeur associée dans properties.txt
    properties.txt :
    __PROXY_LENET__=PROXY aaa
    __PROXY_BACKUP__=PROXY bbb
    __PROXY_DIRECT__=DIRECT


    __PROXY_WEB_PACK__.campus=PROXY ccc
    __PROXY_WEB_PACK__.rd=PROXY ddd
    __PROXY_WEB_PACK__.ekino=PROXY eee
    __PROXY_WEB_PACK__.steria=PROXY fff

    __PROXY_INTERNET__.campus=PROXY ggg
    __PROXY_INTERNET__.rd=PROXY hhh
    __PROXY_INTERNET__.ekino=DIRECT
    __PROXY_INTERNET__.steria=DIRECT


    __PROXY_IPP__.ipp1=DIRECT
    __PROXY_IPP__.ipp2=PROXY iii

    __PROXY_PSW__.psw1=PROXY jjj
    __PROXY_PSW__.psw2=PROXY lll
    __PROXY_DEBRANCHE_VALID__.valid=DIRECT
    __PROXY_DEBRANCHE_VALID__.valid1=PROXY mmm
    __PROXY_DEBRANCHE_VALID__.valid2=PROXY nnn
    __PROXY_DEBRANCHE_VALID__.valid3=
    template.txt :
    function FindProxyForURL(url, host)
    {
    if(isPlainHostName(host))
    { return "DIRECT"; }
    else if(dnsDomainIs
    (host,"D.D.D.D")
    )
    { return "__PROXY_INTERNET__"; }
    else if(host == "C.C.C.C")
    { return "__PROXY_LENET__"; }
    else if(host == "B.B.B.B")
    { return "__PROXY_BACKUP__"; }
    else if(
    shExpMatch(host, "A.A.A.A")
    )
    { return "__PROXY_DIRECT__"; }
    else if(
    dnsDomainIs(host, "N.N..N.N")
    )
    { return "__PROXY_WEB_PACK__"; }
    else if(
    dnsDomainIs(host, "M.M.M.M")
    )
    { return "__PROXY_INTERNET__"; }
    else if(
    dnsDomainIs(host, "Z.Z.Z.Z")
    )
    { return "__PROXY_IPP__"; }
    else if(
    dnsDomainIs(host, "Y.Y.Y.Y")
    )
    { return "__PROXY_PSW__"; }
    else if(
    dnsDomainIs(host, "X.X.X.X")
    )
    { return "__PROXY_DEBRANCHE_VALID__"; }
    else return "__PROXY_INTERNET__";
    }

  5. #5
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Je ne comprends pas bien ce que tu veux faire, mais je te conseillerais de remplacer ta longue liste de if ... elsif ... elsif ... else par une table de distribution ou une table de hachage.

    Je ne comprends pas ce que tu n'arrives pas à faire.

  6. #6
    Membre averti
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Par défaut
    Ce que je n'arrive pas à faire, c'est remplacer, par exemple, __PROXY_PSW__ de mon fichier template.txt par la valeur qui suit le "=" de mon fichier properties.txt associé à __PROXY_PSW__ en fonction de la valeur de psw (psw1 ou psw2).

Discussions similaires

  1. [VBA-Excel] copier des lignes de données d'un fichier à un autre
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/07/2006, 10h17
  2. comment copier une ligne d'un fichier à un autre
    Par debutant-1 dans le forum C
    Réponses: 14
    Dernier message: 26/06/2006, 21h01
  3. [VBE]tout bête: sauter d'un fichier à l'autre
    Par Yanos dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/06/2006, 16h50
  4. Réponses: 2
    Dernier message: 02/05/2006, 01h00
  5. Réponses: 3
    Dernier message: 13/04/2006, 13h57

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