Changeset 153 for trunk/perl
- Timestamp:
- 07/27/08 05:59:42 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/perl/presentation.tex
r152 r153 44 44 \begin{frame} 45 45 \frametitle{PERL} 46 Perl \textbf{5}, écrit par Larry Wall en 1987.46 Perl, écrit par Larry Wall en 1987. 47 47 \vfill 48 48 \emph{Practical Extraction and Report Language} … … 52 52 (\emph{collectionneur de déchets pathétiquement éclectiques}) 53 53 \vfill 54 55 Je parle de Perl \textbf{5} ! 54 56 55 57 Dernière version 5.10.0 (Rafael Garcia-Suarez) … … 62 64 \frametitle{Pourquoi PERL ?} 63 65 \begin{itemize} 66 \item langage scripté, non compilé 67 \pause 68 \item portable 69 \pause 64 70 \item permet une écriture rapide 65 71 \pause … … 127 133 \section{Variables} 128 134 135 \subsection{Variables de Perl} 136 129 137 \begin{frame} 130 138 \frametitle{types de variables} … … 141 149 Et les autres on s'en moque... 142 150 \end{frame} 151 152 \subsection{Scalaire} 143 153 144 154 \begin{frame}[fragile] … … 174 184 \end{frame} 175 185 186 \subsection{Les tableaux} 187 176 188 \begin{frame}[fragile] 177 189 \frametitle{tableau (array)} … … 289 301 @tab = (1, 2, 3, 4); 290 302 %hash = @tab; 303 %unhash = (%hash2, %hash3); 291 304 \end{verbatim} 292 305 \verb+%hash+ contient 1 \verb+=>+ 2, 3 \verb+=>+ 4\ldots 293 306 294 307 Les clef dupliquées sont ecrasées, la dernière gagne ! 308 309 \end{frame} 310 311 \section{Syntaxe} 312 313 \subsection{Syntaxe générale} 314 315 \begin{frame}[fragile] 316 \frametitle{Grandes lignes} 317 \begin{itemize} 318 \item les espaces sépare les mots 319 \pause 320 \item le '\verb+;+' sépare les instructions 321 \pause 322 \item le '\verb+,+' sépare les valeurs 323 \pause 324 \item \verb+( )+ limite une liste 325 \pause 326 \item \verb+{ }+ limite un bloc 327 \pause 328 \item tout ce qui suit un \verb+#+ est un commentaire 329 \pause 330 \item \verb+__END__+ mets fin au script 331 \end{itemize} 332 \pause 333 334 Tout est permis, y compris apporter de la lisibilité à votre code: 335 \begin{verbatim} 336 push # création du tableau 337 ( @tableau 338 , $valeur, 339 $valeur2 ); 340 \end{verbatim} 341 Sauf si vous tenez à faire dans l'obfu ! 342 \end{frame} 343 344 \begin{frame}[fragile] 345 \frametitle{Structure classique d'un script} 346 \onslide<1-6>{un shell bang:} 347 \onslide<2-> 348 \begin{verbatim} 349 #!env perl 350 \end{verbatim} 351 \onslide<3-6>{charger les modules dont on a besoin:} 352 \onslide<4-> 353 \begin{verbatim} 354 use strict; 355 use warnings; 356 \end{verbatim} 357 \onslide<5-6>{arrive le code:} 358 \onslide<6-> 359 \begin{verbatim} 360 while (<STDIN>) { 361 s/ //g; 362 print $_; 363 } 364 \end{verbatim} 365 \onslide<7-> 366 \begin{verbatim} 367 __END__ 368 \end{verbatim} 369 \end{frame} 370 371 \subsection{Controles d'execution} 372 373 \begin{frame}[fragile] 374 \frametitle{if} 375 \onslide<1-> 376 Bah... if quoi... 377 \vfill 378 \begin{verbatim} 379 if ($var == 0) { 380 print "var vaut 0\n"; 381 } 382 \end{verbatim} 383 \onslide<3-> 384 \begin{verbatim} 385 elsif ($var == 1) { 386 print "var vaut 1\n"; 387 } 388 \end{verbatim} 389 \onslide<2-> 390 \begin{verbatim} 391 else { 392 print "var vaut $var\n"; 393 } 394 \end{verbatim} 395 \onslide<4-> 396 Forme suffixée: 397 \begin{verbatim} 398 print "var vaut 0\n" if ($var == 0); 399 \end{verbatim} 400 \end{frame} 401 402 \begin{frame}[fragile] 403 \frametitle{while} 404 Boucle tant qu'une condition est vraie: 405 406 \begin{verbatim} 407 while ($i < 100) { 408 print "$i\n"; 409 $i++; 410 } 411 \end{verbatim} 412 \vfill 413 \pause 414 Forme suffixée: 415 416 \begin{verbatim} 417 $i++ while($i < 100); 418 \end{verbatim} 419 \end{frame} 420 421 \begin{frame}[fragile] 422 \frametitle{foreach} 423 Boucle \textbf{pour chaque} élément d'une liste: 424 425 \begin{verbatim} 426 foreach $elem (@tableau) { 427 print "$elem\n"; 428 } 429 \end{verbatim} 430 431 Très pratique, cela évite de s'embeter avec les indices du tableau. 432 \vfill 433 \pause 434 435 Forme suffixée: 436 437 \begin{verbatim} 438 print "$_\n" foreach(@tableau); 439 \end{verbatim} 440 \end{frame} 441 442 \begin{frame}[fragile] 443 \frametitle{Sortez moi de là} 444 \textbf{next} fait passer à la prochaine itération d'une boucle: 445 446 \begin{verbatim} 447 foreach $val (@tableau) { 448 next if(!$val); 449 print "$val\n"; 450 } 451 \end{verbatim} 452 \pause 453 \vfill 454 \textbf{last} quitte une boucle: 455 456 \begin{verbatim} 457 foreach $val (@tableau) { 458 if ($val > 1000) { 459 print "$val est trop haut, arret\n"; 460 last; 461 } 462 print "$val\n"; 463 } 464 \end{verbatim} 295 465 \end{frame} 296 466
Note: See TracChangeset
for help on using the changeset viewer.