<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://blaireaulinux.fr//wiki/index.php?action=history&amp;feed=atom&amp;title=Perl</id>
	<title>Perl - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="http://blaireaulinux.fr//wiki/index.php?action=history&amp;feed=atom&amp;title=Perl"/>
	<link rel="alternate" type="text/html" href="http://blaireaulinux.fr//wiki/index.php?title=Perl&amp;action=history"/>
	<updated>2026-05-28T06:05:56Z</updated>
	<subtitle>Historique des révisions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.37.0</generator>
	<entry>
		<id>http://blaireaulinux.fr//wiki/index.php?title=Perl&amp;diff=30&amp;oldid=prev</id>
		<title>AdminWiki : Page créée avec « Category:perl  ==Tutoriels==  Pour les bases, cette série de trois tutoriels de David Bourgais est très bien faite : * http://perl.developpez.com/tutoriels/perl/debu... »</title>
		<link rel="alternate" type="text/html" href="http://blaireaulinux.fr//wiki/index.php?title=Perl&amp;diff=30&amp;oldid=prev"/>
		<updated>2013-09-16T13:31:04Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &lt;a href=&quot;/wiki/index.php?title=Cat%C3%A9gorie:Perl&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Catégorie:Perl (page inexistante)&quot;&gt;Category:perl&lt;/a&gt;  ==Tutoriels==  Pour les bases, cette série de trois tutoriels de David Bourgais est très bien faite : * http://perl.developpez.com/tutoriels/perl/debu... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:perl]]&lt;br /&gt;
&lt;br /&gt;
==Tutoriels==&lt;br /&gt;
&lt;br /&gt;
Pour les bases, cette série de trois tutoriels de David Bourgais est très bien faite :&lt;br /&gt;
* http://perl.developpez.com/tutoriels/perl/debuter/cours1/&lt;br /&gt;
* http://perl.developpez.com/tutoriels/perl/debuter/cours2/&lt;br /&gt;
* http://perl.developpez.com/tutoriels/perl/debuter/cours3/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Tableau==&lt;br /&gt;
&lt;br /&gt;
Afficher toutes les lignes d&amp;#039;un tableau :&lt;br /&gt;
&lt;br /&gt;
 foreach $ligne (@tableau) {&lt;br /&gt;
   print &amp;quot;$ligne\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Tableau associatif==&lt;br /&gt;
&lt;br /&gt;
C&amp;#039;est un type de tableau où on associe deux valeurs. On le déclare avec un &amp;#039;&amp;#039;&amp;#039;&amp;quot;%&amp;quot;&amp;#039;&amp;#039;&amp;#039; devant. Pour appeler/modifier une valeur, c&amp;#039;est &amp;#039;&amp;#039;&amp;#039;&amp;quot;$tableau{valeur}&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Pour afficher toutes les valeurs du tableau, on utilise une boucle while.&lt;br /&gt;
&lt;br /&gt;
Ci-dessous un exemple qui va rendre les choses plus claires.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use strict;&lt;br /&gt;
 &lt;br /&gt;
 my %motos = (&amp;quot;kawasaki&amp;quot; =&amp;gt; &amp;quot;vert&amp;quot;, &amp;quot;suzuki&amp;quot; =&amp;gt; &amp;quot;bleu&amp;quot;, &amp;quot;aprilia&amp;quot; =&amp;gt; &amp;quot;rouge&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 my $moto;&lt;br /&gt;
 my $couleur;&lt;br /&gt;
 &lt;br /&gt;
 print &amp;quot;Couleurs disponibles :\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 while (($moto,$couleur) = each(%motos)) {&lt;br /&gt;
     print &amp;quot;- $moto : $couleur\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 print &amp;quot;Nouvelles couleurs disponibles :\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 $motos{&amp;quot;aprilia&amp;quot;} = &amp;quot;noir&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 while (($moto,$couleur) = each(%motos)) {&lt;br /&gt;
     print &amp;quot;- $moto : $couleur\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Résultat :&lt;br /&gt;
&lt;br /&gt;
 $ ./test.pl &lt;br /&gt;
 Couleurs disponibles :&lt;br /&gt;
 - kawasaki : vert&lt;br /&gt;
 - suzuki : bleu&lt;br /&gt;
 - aprilia : rouge&lt;br /&gt;
 Nouvelles couleurs disponibles :&lt;br /&gt;
 - kawasaki : vert&lt;br /&gt;
 - suzuki : bleu&lt;br /&gt;
 - aprilia : noir&lt;br /&gt;
&lt;br /&gt;
Pour supprimer une valeur : &amp;#039;&amp;#039;&amp;#039;&amp;quot;delete $tableau{valeur}&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
On reprend l&amp;#039;exemple précédent dans lequel on rajoute un &amp;#039;&amp;#039;&amp;#039;&amp;quot;delete&amp;quot;&amp;#039;&amp;#039;&amp;#039;. Au passage on créé une fonction pour l&amp;#039;affichage.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use strict;&lt;br /&gt;
 &lt;br /&gt;
 my %motos = (&amp;quot;kawasaki&amp;quot; =&amp;gt; &amp;quot;vert&amp;quot;, &amp;quot;suzuki&amp;quot; =&amp;gt; &amp;quot;bleu&amp;quot;, &amp;quot;aprilia&amp;quot; =&amp;gt; &amp;quot;rouge&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 print &amp;quot;Couleurs disponibles :\n&amp;quot;;&lt;br /&gt;
 affiche();&lt;br /&gt;
 &lt;br /&gt;
 $motos{&amp;quot;aprilia&amp;quot;} = &amp;quot;noir&amp;quot;;&lt;br /&gt;
 print &amp;quot;Nouvelles couleurs disponibles :\n&amp;quot;;&lt;br /&gt;
 affiche();&lt;br /&gt;
 &lt;br /&gt;
 delete $motos{&amp;quot;aprilia&amp;quot;};&lt;br /&gt;
 print &amp;quot;Modèles restants :\n&amp;quot;;&lt;br /&gt;
 affiche();&lt;br /&gt;
 &lt;br /&gt;
 sub affiche {&lt;br /&gt;
     my $moto;&lt;br /&gt;
     my $couleur;&lt;br /&gt;
     while (($moto,$couleur) = each(%motos)) {&lt;br /&gt;
         print &amp;quot;- $moto : $couleur\n&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Résultat :&lt;br /&gt;
&lt;br /&gt;
 $ ./test.pl &lt;br /&gt;
 Couleurs disponibles :&lt;br /&gt;
 - kawasaki : vert&lt;br /&gt;
 - suzuki : bleu&lt;br /&gt;
 - aprilia : rouge&lt;br /&gt;
 Nouvelles couleurs disponibles :&lt;br /&gt;
 - kawasaki : vert&lt;br /&gt;
 - suzuki : bleu&lt;br /&gt;
 - aprilia : noir&lt;br /&gt;
 Modèles restants :&lt;br /&gt;
 - kawasaki : vert&lt;br /&gt;
 - suzuki : bleu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Parser une chaîne de caractères==&lt;br /&gt;
&lt;br /&gt;
Perl est très puissant pour parser une chaîne de caractères. Il permet de rechercher des motifs et de les mettre dans des variables au fur et à mesure.&lt;br /&gt;
&lt;br /&gt;
Dans l&amp;#039;exemple qui suit, on recherche un nombre indéfini de caractères alphanumériques, suivit de &amp;quot;:&amp;quot;, puis de 4 chiffres et enfin d&amp;#039;un nombre indéfini de chiffres. Chaque motif qu&amp;#039;on souhaite mettre dans une variable sera entouré de parenthèses. Pour avoir le motif global, on met des parenthèses autour de l&amp;#039;ensemble. Les motifs sont sauvegardés dans les variables $1, $2 et ainsi de suite. Les numéros sont attribués au fur et à mesure qu&amp;#039;on ouvre les parenthèses.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/perl&lt;br /&gt;
 use strict;&lt;br /&gt;
 &lt;br /&gt;
 my $chaine=&amp;quot;abCD12ef:123456&amp;quot;;&lt;br /&gt;
 if ( $chaine =~ /((\w+):(\d{4})(\d+))/ ) {&lt;br /&gt;
     my($val1, $val2, $val3, $val4) = ($1, $2, $3, $4);&lt;br /&gt;
     print &amp;quot;motif global : $val1\n&amp;quot;;&lt;br /&gt;
     print &amp;quot;motif 1 : $val2\n&amp;quot;;&lt;br /&gt;
     print &amp;quot;motif 2 : $val3\n&amp;quot;;&lt;br /&gt;
     print &amp;quot;motif 3 : $val4\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Résultat :&lt;br /&gt;
&lt;br /&gt;
 $ ./test.pl &lt;br /&gt;
 motif global : abCD12ef:123456&lt;br /&gt;
 motif 1 : abCD12ef&lt;br /&gt;
 motif 2 : 1234&lt;br /&gt;
 motif 3 : 56&lt;br /&gt;
&lt;br /&gt;
On voit que c&amp;#039;est l&amp;#039;opérateur &amp;quot;=~&amp;quot; qui est utilisé pour la comparaison entre la chaîne et les motifs.&lt;br /&gt;
&lt;br /&gt;
La recherche se fait entre les caractères &amp;quot;/&amp;quot; et &amp;quot;/&amp;quot;. Si on veut rechercher un &amp;quot;/&amp;quot; dans les motifs , il faut le faire précéder d&amp;#039;un &amp;quot;\&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
S&amp;#039;il y a plus de 9 motifs, on continue sans problème à $10, $11 etc.&lt;/div&gt;</summary>
		<author><name>AdminWiki</name></author>
	</entry>
</feed>