S'enregistrer | Rechercher | FAQ | Liste des Membres | Groupes d'utilisateurs | Connexion

  Nom d'utilisateur:    Mot de passe:       

  

Poster un nouveau sujet   Répondre au sujet Page 1 sur 1
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
MessagePosté le: Ven Sep 30, 2011 12:23 am    Sujet du message: Simplifications de Perl Répondre en citant

ZADYREE
Projets


 
Inscrit le: 06 Déc 2008
Messages: 136
Localisation: Near eip



Voici ici quelques instructions que l'on apprend dans les tutoriels sur internet, mais dont les syntaxes sont désuètes:

Code:
for($i = 0; $i <= 20; $i++) {}

Ă  remplacer par
Code:
for my $i(0..20) {}



Code:
open(BLOCK, ">$file"); # Très dangereux: exécution de code arbitraire possible

Ă  remplacer par
Code:
open(my $fh, '>', $file);



Code:
foreach my $lettre (chr(ord(a))..chr(ord(z))) {
    print $_;
}

Ă  remplacer par
Code:
say for 'a'..'z';



Conseil: La variable $_ est magique, mais pas divine, essayer de l'utiliser le moins possible, et ne jamais forcer sa modification.
Pour cela, transférer sa valeur dans une autre variable. Voir exemple:

Code:
for(1..10) {
    print ($_ - 1) . "\n";
}


Ă  remplacer par

Code:
for my $num(1..10) {
    print ($num - 1), "\n";
}




Des exemples seront ajoutés au fur et à mesure.
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Ven Sep 30, 2011 2:48 pm    Sujet du message: Répondre en citant

TOSH
Projets


 
Inscrit le: 22 Aoû 2009
Messages: 19



Intéressant.

Quand tu dis que c'est désuet, c'est sur la version de Perl 6 nan ? Mais d'après ce que j'ai compris, Perl 5 et Perl 6 deviendront en fait des langages différents, Perl 6 n'ayant pas pour vocation de remplacer Perl 5. À la manière du C et du C++.

Et d'ailleurs, ayant un peu testé Perl 6, je trouve que tout ce qui faisait le charme de Perl 5 a disparu.

Sinon, je ne savais pas que la fonction open permettait l'exécution arbitraire de code si elle était mal utilisée. Si tu as un exemple à présenté, je suis preneur Wink . (Je suppose qu'en craftant la variable $file, on peut réussir à exécuter une commande)
Voir le profil de l'utilisateur Envoyer un message privés
Poster un nouveau sujet   Répondre au sujet Page 1 sur 1

  


 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum



118015 Attacks blocked