Changeset 157 for trunk/perl


Ignore:
Timestamp:
08/01/08 19:09:52 (16 years ago)
Author:
nanardon
Message:
  • end ref + add filehandle
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/perl/presentation.tex

    r156 r157  
    809809\end{frame} 
    810810 
     811\begin{frame}[fragile] 
     812\frametitle{Références: les pièges} 
     813Déférencer un undef: 
     814\begin{verbatim} 
     815perl -we 'my $ref; print @{ $ref }' 
     816Use of uninitialized value $ref in  
     817array dereference at -e line 1. 
     818\end{verbatim} 
     819\pause 
     820Voici l'astuce: 
     821\begin{verbatim} 
     822perl -we 'my $ref; print @{ $ref || [] }' 
     823\end{verbatim} 
     824\pause 
     825\vfill 
     826\vfill 
     827Attention au type de variable référencée: 
     828\begin{verbatim} 
     829perl -we 'my $ref = {}; print @{ $ref }' 
     830Not an ARRAY reference at -e line 1. 
     831\end{verbatim} 
     832\pause 
     833\vfill 
     834\vfill 
     835Attention au structure complexes: 
     836\begin{verbatim} 
     837$ref->[0][2]{daleks}[0]{episode} 
     838    {$ennemi}{histoire}[0]; 
     839\end{verbatim} 
     840\end{frame} 
     841 
     842\begin{frame}[fragile] 
     843\frametitle{Références: dernières choses} 
     844On peut connaitre le type de référence avec \verb+ref()+ 
     845\begin{verbatim} 
     846perl -we 'my $ref = {}; print ref $ref' 
     847HASH 
     848\end{verbatim} 
     849\vfill 
     850\vfill 
     851\pause 
     852Tout est là:\\ 
     853\verb+man perlreref+ 
     854\end{frame} 
     855 
     856\subsection{les descripteurs de fichier} 
     857 
     858\begin{frame}[fragile] 
     859\frametitle{Fichiers: Version simple} 
     860Version moderne: 
     861 
     862Ouvrir un fichier en lecture: 
     863\begin{verbatim} 
     864open(my $handle, '<', 'fichier'); 
     865\end{verbatim} 
     866\pause 
     867Lire une ligne: 
     868\begin{verbatim} 
     869my $line = <$handle>; 
     870chomp($line); # strip cariage return 
     871\end{verbatim} 
     872\pause 
     873Fermer le fichier: 
     874\begin{verbatim} 
     875close($handle); 
     876\end{verbatim} 
     877\pause 
     878\vfill 
     879Ancienne méthode: 
     880\begin{verbatim} 
     881open(HANDLE, '<', 'fichier'); 
     882my $line = <HANDLE>; 
     883chomp($line); # strip cariage return 
     884close(HANDLE); 
     885\end{verbatim} 
     886\end{frame} 
     887 
     888\begin{frame}[fragile] 
     889\frametitle{Fichier: version simple (suite)} 
     890 
     891Ouvrir: 
     892\begin{verbatim} 
     893open(my $handle, '>', 'fichier'); 
     894\end{verbatim} 
     895\pause 
     896Écrire: 
     897\begin{verbatim} 
     898print $handle "Exterminate !\n"; 
     899\end{verbatim} 
     900\begin{textbf}Attention à \verb+print+: pas de \verb+,+ après le file handle\end{textbf} 
     901 
     902\pause 
     903\vfill 
     904Fermer: 
     905\begin{verbatim} 
     906close($handle); 
     907\end{verbatim} 
     908\pause 
     909Trois file handle par défaut: \verb+STDIN+, \verb+STDOUT+, \verb+STDERR+ 
     910(entrée, sortie, sortie d'erreur). 
     911\end{frame} 
     912 
     913\begin{frame}[fragile] 
     914\frametitle{Fichiers: Version compliquée} 
     915Pour des besoins très spécifiques: 
     916\begin{itemize} 
     917\item open()/close() 
     918\item read()/print() 
     919\end{itemize} 
     920 
     921\vfill 
     922ou: 
     923\vfill 
     924\pause 
     925\begin{itemize} 
     926\item sysopen()/sysclose() 
     927\item sysread()/syswrite() 
     928\end{itemize} 
     929\pause 
     930\vfill 
     931\vfill 
     932Si vraiment vous voulez en savoir plus: \verb+man+ 
     933\begin{itemize} 
     934\item perlfunc 
     935\pause 
     936\item perlopentut 
     937\end{itemize} 
     938\end{frame} 
     939 
     940\section{RegExp (Expressions régulières)} 
     941 
    811942\section{Cookbook} 
    812943 
Note: See TracChangeset for help on using the changeset viewer.