1 | % $Id$ |
---|
2 | |
---|
3 | \section{Presentation} |
---|
4 | |
---|
5 | \begin{frame} |
---|
6 | \frametitle{PERL} |
---|
7 | \begin{block}{} |
---|
8 | Perl, écrit par Larry Wall en 1987. |
---|
9 | \pause |
---|
10 | |
---|
11 | Perl 5.10 maintenu par Rafael Garcia-Suarez |
---|
12 | \pause |
---|
13 | |
---|
14 | Dernière version: 5.10.0 |
---|
15 | \end{block} |
---|
16 | \pause |
---|
17 | \vfill |
---|
18 | \begin{block}{PERL ne signifie rien} |
---|
19 | \emph{Practical Extraction and Report Language} |
---|
20 | (\emph{langage pratique d'extraction et de génération de rapports}) |
---|
21 | |
---|
22 | \textbf{ou} |
---|
23 | |
---|
24 | \emph{Pathetically Eclectic Rubbish Lister} |
---|
25 | (\emph{collectionneur de déchets pathétiquement éclectiques}) |
---|
26 | \end{block} |
---|
27 | \pause |
---|
28 | \vfill |
---|
29 | |
---|
30 | \begin{alertblock}{Perl 5 !} |
---|
31 | Perl 6 sera très différent |
---|
32 | \end{alertblock} |
---|
33 | \end{frame} |
---|
34 | |
---|
35 | \begin{frame} |
---|
36 | \frametitle{Pourquoi PERL ?} |
---|
37 | \begin{itemize} |
---|
38 | \item langage scripté, non compilé |
---|
39 | \pause |
---|
40 | \item gestion de la mémoire dynamique et automatique |
---|
41 | \pause |
---|
42 | \item portable (existe sous Unix*, Windows, OS/2, VMS\ldots) |
---|
43 | \pause |
---|
44 | \item est orienté objet |
---|
45 | \pause |
---|
46 | \item possède un grand nombre de modules additionnels |
---|
47 | \pause |
---|
48 | \item est très documenté |
---|
49 | \pause |
---|
50 | \item la communauté perl est conviviale |
---|
51 | \end{itemize} |
---|
52 | \pause |
---|
53 | \vfill |
---|
54 | Utilisation: |
---|
55 | \begin{itemize} |
---|
56 | \item petits scripts type shell |
---|
57 | \pause |
---|
58 | \item des programmes complexes |
---|
59 | \pause |
---|
60 | \item des services de toutes sortes |
---|
61 | \pause |
---|
62 | \item des sites web |
---|
63 | \item \ldots |
---|
64 | \end{itemize} |
---|
65 | \end{frame} |
---|
66 | |
---|
67 | \begin{frame}[fragile] |
---|
68 | \frametitle{Exemples} |
---|
69 | \begin{exampleblock}{Exemple de script:} |
---|
70 | \begin{verbatim} |
---|
71 | #!env perl |
---|
72 | |
---|
73 | print "Hello World\n"; |
---|
74 | \end{verbatim} |
---|
75 | \end{exampleblock} |
---|
76 | \pause |
---|
77 | \vfill |
---|
78 | \begin{exampleblock}{One-liner} |
---|
79 | \verb+perl -e 'print "Hello World\n"'+ |
---|
80 | \end{exampleblock} |
---|
81 | \end{frame} |
---|
82 | |
---|
83 | \begin{frame}[fragile] |
---|
84 | \frametitle{Obfusacte perl} |
---|
85 | Sinon ça peut aussi ressembler à ça: |
---|
86 | \vfill |
---|
87 | \begin{exampleblock}{bestever.pl de Philippe Bruhat (Book)} |
---|
88 | \begin{tiny} |
---|
89 | \verbatiminput{bestever.pl} |
---|
90 | \end{tiny} |
---|
91 | \end{exampleblock} |
---|
92 | \end{frame} |
---|
93 | |
---|
94 | \begin{frame} |
---|
95 | \frametitle{Avant-propos} |
---|
96 | \begin{alertblock}{Ce dont je ne vais pas parler\ldots} |
---|
97 | \begin{itemize} |
---|
98 | \pause |
---|
99 | \item Plain Old Documentation - documenter son code |
---|
100 | \pause |
---|
101 | \item Espaces de noms |
---|
102 | \pause |
---|
103 | \item Ecriture de modules |
---|
104 | \pause |
---|
105 | \item Objets |
---|
106 | \pause |
---|
107 | \item XS: pont du C <=> perl |
---|
108 | \pause |
---|
109 | \item tests sur les modules et objets |
---|
110 | \pause |
---|
111 | \item de la tonne de modules super géniale qui fait choses épatantes |
---|
112 | \pause |
---|
113 | \item obfuscate perl |
---|
114 | \pause |
---|
115 | \item des trucs super gores qu'on peut faire en perl, bien pire que l'obfuscate |
---|
116 | \end{itemize} |
---|
117 | \end{alertblock} |
---|
118 | \vfill |
---|
119 | \begin{block}{} |
---|
120 | Je sais, vous êtes déçus ! |
---|
121 | \end{block} |
---|
122 | \end{frame} |
---|
123 | |
---|
124 | \begin{frame} |
---|
125 | \begin{block}{} |
---|
126 | \begin{Huge}There's More Than One Way To Do It!\end{Huge} |
---|
127 | |
---|
128 | \vfill |
---|
129 | Larry Wall |
---|
130 | \end{block} |
---|
131 | \end{frame} |
---|