Changeset 177
- Timestamp:
- 08/26/08 17:53:18 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/perl/chaines.tex
r176 r177 40 40 \frametitle{quote: exemple} 41 41 42 \pause 43 \vfill 44 Chaine interpolées: 45 42 \begin{exampleblock}{Chaine interpolées:} 46 43 \begin{verbatim} 47 44 my $var = "UMR7620"; 48 45 49 print "nous somme $var";50 p inrt qq{nous somme "$var"};46 print "nous somme \"$var\""; 47 print qq!nous somme "$var"!; 51 48 \end{verbatim} 52 49 \end{exampleblock} 53 50 \pause 54 51 \vfill 55 Chaine non interpolées: 56 52 \begin{exampleblock}{Chaine non interpolées:} 57 53 \begin{verbatim} 58 54 my $var = 'UMR7620'; … … 61 57 print q{'$var' est une variable}; 62 58 \end{verbatim} 59 \end{exampleblock} 60 \pause 61 \vfill 62 \begin{exampleblock}{une liste} 63 \begin{verbatim} 64 my @tableau = qw(une liste de mots); 65 \end{verbatim} 66 \end{exampleblock} 63 67 \end{frame} 64 68 65 69 \begin{frame}[fragile] 66 70 \frametitle{quote quote} 67 Pour les longues chaines:68 71 \vfill 72 \begin{exampleblock}{Pour les longues chaines:} 69 73 \begin{verbatim} 70 74 my $var = 42; … … 75 79 FIN_DU_TEXTE 76 80 \end{verbatim} 77 \ vfill81 \end{exampleblock} 78 82 \end{frame} 79 83 … … 82 86 \begin{frame} 83 87 \frametitle{Perl réinvente les RegExp} 84 Les expressions régulières de Perl sont très puissantes ! 88 \begin{block}{Comment ne pas parler des Expéssions Régulières ?} 89 Elles sont 90 \begin{itemize} 91 \item puissantes 92 \item très étendues 93 \item naturelles en perl 94 \end{itemize} 95 \end{block} 85 96 86 97 \vfill 87 \emph{Perl ça pue, y'a pas de fonction pour travailler avec des regexp comme en php} 88 \vfill 89 Php comme d'autres utilise la lib PCRE (Perl Compatible Regular Expressions). 98 \begin{block}{Perl Compatible Regular Expression} 99 Il y a même une librairie qui émule les expression régulière de PERL. 90 100 91 \pause 92 \vfill 93 Attention: Perl utilise des expressions régulières très étendues 94 \end{frame} 95 96 \begin{frame}[fragile] 97 \frametitle{Anatomie} 98 Deux opérateurs: 101 Utilisé par 99 102 \begin{itemize} 100 \item \verb+=~+ : correspond 101 \item \verb+!~+ : ne correspond pas 103 \item grep (et oui) 104 \item php 105 \item kde 106 \item \ldots 102 107 \end{itemize} 103 \pause 104 105 L'expression régulière: 106 107 \begin{semiverbatim} 108 $var =~ \onslide<3->{m}\onslide<4->{/}\onslide<5->{motif}\onslide<4->{/}\onslide<6->{g}; 109 $var =~ \onslide<4->{/}\onslide<5->{motif}\onslide<4->{/}\onslide<6->{g}; 110 $var =~ \onslide<3->{s}\onslide<4->{/}\onslide<5->{motif}\onslide<4->{/}\onslide<5->{remplacement}\onslide<4->{/}\onslide<6->{g}; 111 \end{semiverbatim} 112 113 \vfill 114 \pause 115 \begin{itemize} 116 \item une action 117 \begin{itemize} 118 \item \textbf{m} (match, le défaut) 119 \item \textbf{s} (substitute) 120 \end{itemize} 121 \pause 122 \item des séparateurs (au choix) 123 \pause 124 \item le texte recherché (et le remplacement) 125 \pause 126 \item éventuellement un modificateur 127 \end{itemize} 108 \end{block} 128 109 \end{frame} 129 110 130 111 \begin{frame}[fragile] 131 112 \frametitle{RegExp: les bases} 132 Regarde si un chaine correspond à un motif 113 \textbf{Regarde si une chaine correspond à un motif} 133 114 134 Où le motif peut contenir: 115 \begin{block}{le motif peut contenir:} 135 116 \vfill 136 117 … … 153 134 \verb+()+&forme un groupe\\ 154 135 \end{tabular} 136 \end{block} 137 \end{frame} 138 139 \begin{frame}[fragile] 140 \frametitle{Anatomie} 141 \begin{exampleblock}{L'expression régulière:} 142 \small 143 \begin{semiverbatim} 144 $var \onslide<2->{=~} \onslide<3->{m}\onslide<4->{/}\onslide<5->{motif}\onslide<4->{/}\onslide<6->{i}; 145 $var \onslide<2->{=~} \onslide<4->{/}\onslide<5->{motif}\onslide<4->{/}\onslide<6->{i}; \onslide<3->{# séparateur / => opérateur m} 146 $var \onslide<2->{=~} \onslide<3->{s}\onslide<4->{/}\onslide<5->{motif}\onslide<4->{/}\onslide<5->{remplacement}\onslide<4->{/}\onslide<6->{g}; 147 \end{semiverbatim} 148 \end{exampleblock} 155 149 156 150 \vfill 157 158 \verb+man perlre+ pour tout savoir\ldots 151 \pause 152 \begin{block}{} 153 \begin{itemize} 154 \small 155 \item un opérateur de comparaison 156 \begin{itemize} 157 \item \verb+=~+ : correspond 158 \item \verb+!~+ : ne correspond pas 159 \end{itemize} 160 \pause 161 \item une action 162 \begin{itemize} 163 \item \textbf{m} (match, le défaut) 164 \item \textbf{s} (substitute) 165 \end{itemize} 166 \pause 167 \item des séparateurs (au choix) 168 \pause 169 \item le texte recherché (et le remplacement) 170 \pause 171 \item éventuellement un modificateur 172 \end{itemize} 173 \end{block} 159 174 \end{frame} 160 175 161 176 \begin{frame}[fragile] 162 177 \frametitle{RegExp: exemple dans perl} 178 \begin{exampleblock}{} 163 179 \begin{verbatim} 164 180 my @list = ('UMR7620', 'umr8639'); … … 171 187 } 172 188 \end{verbatim} 189 \end{exampleblock} 173 190 \pause 174 191 \vfill 175 Bon, je parle de perl, pas des RegExp, alors \verb+man perlre+ et \verb+man perlretut+ ! 176 192 \begin{block}{la doc !} 193 \begin{itemize} 194 \item \verb+man perlre+ 195 \item \verb+man perlretut+ 196 \end{itemize} 197 \end{block} 177 198 \end{frame}
Note: See TracChangeset
for help on using the changeset viewer.