Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1597 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Perl - Besoin de commentaire sur 3 lignes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Perl - Besoin de commentaire sur 3 lignes

n°1267998
fun_key
Posté le 26-02-2011 à 20:22:08  profilanswer
 

Hello,
 
J'ai trouvé un petit bout de code perl qui fonctionne très bien, mais que j'aimerais modifier.
 
Le truc c'est que je suis incapable de le comprendre malgré mes bonnes connaissances Java, c & co. Et vu la syntaxe barbare je m'en sors pas avec google...  :fou:  
 
Y aurait-il une ame charitable pour me commenter ces 3 lignes que je puisse commencer?
 

Code :
  1. #!/usr/bin/perl
  2. #
  3. # URL rewriter for squid to convert HTTP requests to HTTPS.
  4. # Return an HTTP permanent redirect back to the browser.
  5. # http://wiki.squid-cache.org/SquidFaq/SquidRedirectors
  6. #
  7. $| = 1; // J'imagine qu'il lit le 1er arg, mais il le met ou?!
  8. while (<> ) { // WTF, c'est quoi cette condition?!
  9.         s/^http:/301:https:/;           # replace "http" with "https" Je vois bien que c'est un regex, mais elle est appliquée sur quoi?
  10.         print; // Dans mon petit monde à moi, on print qqch, une variable, un literal, pas juste rien :/
  11. }


 
Le script modifie une string apparament recue en argument et replace http par https. Je voudrais en plus modifier le port de destination dans l'URL. P.ex http://test/salut => https://test:1337/salut.
 
A votre bon coeur!

mood
Publicité
Posté le 26-02-2011 à 20:22:08  profilanswer
 

n°1268000
Fork Bomb
Obsédé textuel
Posté le 26-02-2011 à 20:49:46  profilanswer
 

Ligne 8 --> Tant que différent.
C’est tout ce que je comprend, désolé.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°1268016
High Plain​s Drifter
Posté le 27-02-2011 à 02:47:00  profilanswer
 

Code :
  1. $| = 1; // Force le flush des sorties après chaque opération (la variable spéciale $| permet de manipuler le comportement des buffers)
  2. while (<> ) { // Équivalent à while (<ARGV> ), perl à cette particularité de permettre d'accéder aux arguments de la ligne de commande via un filehandle, quant à while il charge automatiquement la ligne courante dans la variable spéciale $_
  3.         s/^http:/301:https:/; // Par défaut les expressions rationnelles s'appliquent sur la chaîne contenue dans la variable $_
  4.         print; // Même chose en l'absence d'autre argument print affiche le contenu de la variable $_
  5. }


 
 Voilà :hello:


---------------
| < Ceci n'est pas une pipe.
n°1268025
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 27-02-2011 à 11:02:20  profilanswer
 

Fork Bomb a écrit :

Ligne 8 --> Tant que différent.
C’est tout ce que je comprend, désolé.


raté :o
 
tant qu'il y a de l'entrée, remplacer comme dans la regexp et afficher le résultat.
 
Y'a pas à dire, élever les devs au java, ça les ramollit :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1268026
Fork Bomb
Obsédé textuel
Posté le 27-02-2011 à 11:06:14  profilanswer
 

black_lord a écrit :


raté :o
 
tant qu'il y a de l'entrée, remplacer comme dans la regexp et afficher le résultat.


 
Ah merde, c’est la seule ligne qui me disait quelquechose… :/

black_lord a écrit :


Y'a pas à dire, élever les devs au java, ça les ramollit :o


Spoiler :

:kaola:


Spoiler :

Dès que je peux, je cherche une boite ou on me fait pas chier avec ce langage…
Il me sort par les yeux, le truc -_-


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
n°1268034
fun_key
Posté le 27-02-2011 à 12:38:10  profilanswer
 

black_lord a écrit :


raté :o
 
tant qu'il y a de l'entrée, remplacer comme dans la regexp et afficher le résultat.
 
Y'a pas à dire, élever les devs au java, ça les ramollit :o


 
Alors, le <> n'est pas valide en Java, c'est en VB qu'il veut dire <> et certainement quelques autres languages sinistres :).
 
Et sinon, merci bien High Plains Drifter. C'est exactement ce qu'il me fallait.
 
Vu que j'adore ecrire des trucs compactes et cryptiques, je pense que qu'il va falloir que me mette au PERL, ca cartonne!

Message cité 1 fois
Message édité par fun_key le 27-02-2011 à 12:39:42
n°1268039
High Plain​s Drifter
Posté le 27-02-2011 à 14:28:32  profilanswer
 

Au passage j'étais mal réveillé dans mon premier message, while(<> ) permet de charger une par une dans la variable $_ chaque ligne de chaque fichier passé en paramètre au programme.


Message édité par High Plains Drifter le 27-02-2011 à 19:13:11

---------------
| < Ceci n'est pas une pipe.
n°1268042
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 27-02-2011 à 15:00:26  profilanswer
 

fun_key a écrit :


Alors, le <> n'est pas valide en Java, c'est en VB qu'il veut dire <> et certainement quelques autres languages sinistres :).
!


 [:orly2]  


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Perl - Besoin de commentaire sur 3 lignes

 

Sujets relatifs
Besoin d'avis avant achat de pc assemblé.Perl - Gestion processus
Pool connexion MySQL Perl/CGIBesoin d'aide pour installation Linux Ubuntu
Besoin d'aide pour installer Meego sur mon netbookutiliser la nouvelle version de perl
comparer 2 fichiers avec diff, mais uniquement les lignesBesoin d'aide pour choix OS gestion d'un nas
Plus de sujets relatifs à : Perl - Besoin de commentaire sur 3 lignes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR