From 18058567c4e7570ca7fd053299eefd0d36658329 Mon Sep 17 00:00:00 2001 From: Matteo Taroli Date: Fri, 2 Oct 2015 22:17:16 +0200 Subject: Add French translation for Perl 5 --- fr-fr/perl-fr.html.markdown | 166 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 fr-fr/perl-fr.html.markdown diff --git a/fr-fr/perl-fr.html.markdown b/fr-fr/perl-fr.html.markdown new file mode 100644 index 00000000..7a061da7 --- /dev/null +++ b/fr-fr/perl-fr.html.markdown @@ -0,0 +1,166 @@ +--- +name: perl +category: language +language: perl +filename: learnperl-fr.pl +contributors: + - ["Korjavin Ivan", "http://github.com/korjavin"] +translators: + - ["Matteo Taroli", "http://www.matteotaroli.be"] +lang: fr-fr +--- +Perl 5 est un langage de programmation riche en fonctionnalité, avec plus de 25 ans de développement. + +Perl 5 fonctionne sur plus de 100 plateformes, allant des pc portables aux mainframes et +est autant adapté à un prototypage rapide qu'à des projets de grande envergure. + +```perl +# Les commentaires en une ligne commencent par un dièse + + +#### Types de variables de Perl + +# Les variables comment par un symbole précisant le type. +# Un nom de variable valide commence par une lettre ou un underscore, +# suivi d'un nombre quelconque de lettres, chiffres ou underscores. + +### Perl a trois types principaux de variables: $scalaire, @tableau and %hash + +## Scalaires +# Un scalaire représente une valeure unique : +my $animal = "chameau"; +my $reponse = 42; + +# Les valeurs scalaires peuvent être des strings, des entiers ou des nombres à virgule flottante +# et Perl les convertira automatiquement entre elles quand nécessaire. + +## Tableaux +# Un tableau représente une liste de valeurs : +my @animaux = ("chameau", "lama", "chouette"); +my @nombres = (23, 42, 69); +my @melange = ("chameau", 42, 1.23); + +## Hashes +# Un hash représente un ensemble de paires de clé/valeur : +my %fruit_couleur = ("pomme", "rouge", "banane", "jaune"); + +# Vous pouvez utiliser des espaces et l'opérateur "=>" pour les disposer plus joliment : + +my %fruit_couleur = ( + pomme => "rouge", + banane => "jaune" +); + +# Les scalaires, tableaux et hashes sont plus amplement documentés dans le perldata +# (perldoc perldata) + +# Des types de données plus complexes peuvent être construits en utilisant des références, +# vous permettant de construire des listes et des hashes à l'intérieur d'autres listes et hashes. + +#### Conditions et boucles + +# Perl possède la plupart des conditions et boucles habituelles. + +if ($var) { + ... +} elsif ($var eq 'bar') { + ... +} else { + ... +} + +unless (condition) { + ... +} +# Ceci est fourni en tant que version plus lisible de "if (!condition)" + +# la postcondition à la sauce Perl + +print "Yow!" if $zippy; +print "Nous n'avons pas de banane." unless $bananes; + +# while +while (condition) { + ... +} + +# boucle for et iteration +for (my $i = 0; $i < $max; $i++) { + print "l'index est $i"; +} + +for (my $i = 0; $i < @elements; $i++) { + print "L'élément courant est " . $elements[$i]; +} + +for my $element (@elements) { + print $element; +} + +# implicitement + +for (@elements) { + print; +} + + +#### Expressions régulières + +# Le support des expressions régulières par Perl est aussi large que profond +# et est sujet à une longue documentation sur perlrequick, perlretut et ailleurs. +# Cependant, pour faire court : + +# Simple correspondance +if (/foo/) { ... } # vrai si $_ contient "foo" +if ($a =~ /foo/) { ... } # vrai si $a contient "foo" + +# Simple substitution + +$a =~ s/foo/bar/; # remplace foo par bar dans $a +$a =~ s/foo/bar/g; # remplace TOUTES LES INSTANCES de foo par bar dans $a + + +#### Fichiers and E/S + +# Vous pouvez ouvrir un fichier pour y écrire ou pour le lire avec la fonction "open()". + +open(my $in, "<", "input.txt") or die "Impossible d'ouvrir input.txt: $!"; +open(my $out, ">", "output.txt") or die "Impossible d'ouvrir output.txt: $!"; +open(my $log, ">>", "my.log") or die "Impossible d'ouvrir my.log: $!"; + +# Vous pouvez lire depuis un descripteur de fichier grâce à l'opérateur "<>". +# Dans un contexte scalaire, il lit une seule ligne depuis le descripteur de fichier +# et dans un contexte de liste, il lit le fichier complet, assignant chaque ligne à un +# élément de la liste : + +my $ligne = <$in> +my $lignes = <$in> + +#### Ecrire des sous-programmes + +# Ecrire des sous-programmes est facile : + +sub logger { + my $logmessage = shift; + + open my $logfile, ">>", "my.log" or die "Impossible d'ouvrir my.log: $!"; + + print $logfile $logmessage; +} + +# Maintenant, nous pouvons utiliser le sous-programme comme n'importe quelle fonction intégrée : + +logger("On a un sous-programme de logging!!"); +``` + +#### Utiliser des modules Perl + +Les modules Perl fournissent une palette de fonctionnalités vous évitant de réinventer la roue et peuvent être téléchargés depuis CPAN (http://www.cpan.org/). Un certain nombre de modules populaires sont inclus dans la distribution même de Perl. + +Perlfaq contiens des questions et réponses liées aux tâches habituelles et propose souvent des suggestions quant aux bons modules à utiliser. + +#### Pour en savoir plus + - [perl-tutorial](http://perl-tutorial.org/) + - [Learn at www.perl.com](http://www.perl.org/learn.html) + - [perldoc](http://perldoc.perl.org/) + - and perl built-in : `perldoc perlintro` -- cgit v1.2.3 From b723d3284bbccbcbf5e7ecedee3469b87f4d5959 Mon Sep 17 00:00:00 2001 From: Matteo Taroli Date: Thu, 8 Oct 2015 12:38:19 +0200 Subject: Add explanation about $_ and fix typos --- fr-fr/perl-fr.html.markdown | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/fr-fr/perl-fr.html.markdown b/fr-fr/perl-fr.html.markdown index 7a061da7..e737b7aa 100644 --- a/fr-fr/perl-fr.html.markdown +++ b/fr-fr/perl-fr.html.markdown @@ -5,6 +5,7 @@ language: perl filename: learnperl-fr.pl contributors: - ["Korjavin Ivan", "http://github.com/korjavin"] + - ["Matteo Taroli", "http://www.matteotaroli.be"] translators: - ["Matteo Taroli", "http://www.matteotaroli.be"] lang: fr-fr @@ -27,7 +28,7 @@ est autant adapté à un prototypage rapide qu'à des projets de grande envergur ### Perl a trois types principaux de variables: $scalaire, @tableau and %hash ## Scalaires -# Un scalaire représente une valeure unique : +# Un scalaire représente une valeur unique : my $animal = "chameau"; my $reponse = 42; @@ -99,8 +100,15 @@ for my $element (@elements) { # implicitement +# La variable de contexte scalaire $_ est utilisée par défaut dans différentes +# situations, comme par exemple dans la boucle foreach ou en argument par défaut +# de la plupart des fonctions pour en simplifier l'écriture. + +# Dans l'exemple suivant, $_ prends successivement la valeur de +# chaque élément de la liste. + for (@elements) { - print; + print; # affiche le contenu de $_ } @@ -116,11 +124,11 @@ if ($a =~ /foo/) { ... } # vrai si $a contient "foo" # Simple substitution -$a =~ s/foo/bar/; # remplace foo par bar dans $a +$a =~ s/foo/bar/; # remplace le premier foo par bar dans $a $a =~ s/foo/bar/g; # remplace TOUTES LES INSTANCES de foo par bar dans $a -#### Fichiers and E/S +#### Fichiers et E/S # Vous pouvez ouvrir un fichier pour y écrire ou pour le lire avec la fonction "open()". @@ -136,9 +144,9 @@ open(my $log, ">>", "my.log") or die "Impossible d'ouvrir my.log: $!"; my $ligne = <$in> my $lignes = <$in> -#### Ecrire des sous-programmes +#### Ecrire des fonctions -# Ecrire des sous-programmes est facile : +# Ecrire des fonctions est facile : sub logger { my $logmessage = shift; @@ -148,9 +156,9 @@ sub logger { print $logfile $logmessage; } -# Maintenant, nous pouvons utiliser le sous-programme comme n'importe quelle fonction intégrée : +# Maintenant, nous pouvons utiliser cette fonction comme n'importe quelle fonction intégrée : -logger("On a un sous-programme de logging!!"); +logger("On a une fonction de logging!!"); ``` #### Utiliser des modules Perl -- cgit v1.2.3