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 :

Perl pour concatener des fichier.pac


Sujet :

Programmation et administration système Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut Perl pour concatener des fichier.pac
    Bonjour, je voudrai faire un générateur de fichier.pac pour simplifer la lecture de ceux-ci (11 fichiers.pac) qui se ressemble beaucoup.
    Voici comment je m'y prends :
    #!/usr/bin/perl

    use strict;
    use warnings;

    #declaration de la fonction
    my $function_find_proxy=<<BALISE
    function FindProxyForURL(url, host)
    {
    BALISE

    my $end_DIRECT=<<BALISE
    // Otherwise use proxy Bureautique
    else return "DIRECT";
    }
    BALISE

    my $return_DIRECT=<<BALISE
    { return "DIRECT"; }
    BALISE

    my $paragraphe1_non_FQDN_hosts=<<BALISE
    // Direct connections to non-FQDN hosts
    if (isPlainHostName(host))
    BALISE
    en gros :
    function FindProxyForURL(url, host)
    {
    // Direct connections to non-FQDN hosts
    if(isPlainHostName(host))
    { return "DIRECT"; }
    // Otherwise use proxy Bureautique
    else return "DIRECT";
    }
    Puis je les concatene grâce au "." :
    $function_find_proxy.$paragraphe1_non_FQDN_hosts.$return_DIRECT.$end_DIRECT>proxy1.pac;
    Mais ça me retourne pas mal d'erreur du genre : "my" variable $function_find_proxy masks earlier declaration in same statement at generateur_proxy_pac2.v2.pl line 418.

    si j'enleve le "my" j'ai encore d'autres erreurs...

    Pouvez vous m'aider ? ça me semble simple, mais bon...

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Tu devrais certainement envisager d'ouvrir des fichiers avec la commande open. Tes redirections ne font pas le travail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    open (my ($OpenFile), '>', $File) or die "Couldn't open $File : $!\n";
    $Openfile est ton handler de fichier. Tu peux écrire dans un fichier avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print $Openfile "blabla"
    $File est le nom de ton fichier.

    Une fonction se déclare comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sub mafonction{
    my ($param1, $param2) = @_;
    #code
    }
    C'est quoi tes BALISE ?

    Peut être que revenir aux bases de perl te ferait du bien. Le code que tu as pondu a l'air vraiment fait à l'arrachissime.
    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
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Je sais pas dans quelle mesure cela peut t'être utile, mais il existe un module CPAN qui traite de ces fichiers : HTTP::ProxyPAC
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    les BALISEs sont là pour délimiter la déclaration :
    http://www.dil.univ-mrs.fr/~chris/Perl/Chaines.htm
    en bas de page

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my $function_find_proxy=
    "function FindProxyForURL(url, host)\n".
    "{\n";
    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

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    oui, mais ça ne change rien... j'avais déjà essayé

  7. #7
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    à mon avis, j'ai du oublier un bibliothèque...?

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    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
    25
    26
    27
    28
    29
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
     
    my $output="proxy1.pac";
     
    my $function_find_proxy=
    "function FindProxyForURL(url, host)\n".
    "{\n";
     
    my $end_DIRECT=
    "// Otherwise use proxy Bureautique\n".
    "else return \"DIRECT\";\n".
    "}\n";
     
    my $return_DIRECT=
    "{ return \"DIRECT\"; }\n";
     
    my $paragraphe1_non_FQDN_hosts=
    "// Direct connections to non-FQDN hosts\n".
    "if (isPlainHostName(host))\n";
     
    open my $Openfile, '>', $output or die "failed opening $output";
     
    print $Openfile $function_find_proxy.$end_DIRECT.$return_DIRECT.$paragraphe1_non_FQDN_hosts;
     
    close $Openfile;
    Citation Envoyé par proxy1.pac
    function FindProxyForURL(url, host)
    {
    // Otherwise use proxy Bureautique
    else return "DIRECT";
    }
    { return "DIRECT"; }
    // Direct connections to non-FQDN hosts
    if (isPlainHostName(host))
    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

  9. #9
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Points : 7
    Points
    7
    Par défaut
    Ok je vais donc faire comme ca, merci!

Discussions similaires

  1. script perl pour charger des milliers de fichiers en une connexion
    Par mariogarcia dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 23/05/2013, 11h59
  2. Réponses: 2
    Dernier message: 12/03/2009, 10h55
  3. Réponses: 3
    Dernier message: 31/03/2008, 13h59
  4. [CR] Version nécessaire pour créer des fichiers DSR ?
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 17/11/2003, 09h01
  5. Réponses: 3
    Dernier message: 02/09/2002, 18h49

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