Changeset 157 for trunk/perl/presentation.tex
- Timestamp:
- 08/01/08 19:09:52 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/perl/presentation.tex
r156 r157 809 809 \end{frame} 810 810 811 \begin{frame}[fragile] 812 \frametitle{Références: les pièges} 813 Déférencer un undef: 814 \begin{verbatim} 815 perl -we 'my $ref; print @{ $ref }' 816 Use of uninitialized value $ref in 817 array dereference at -e line 1. 818 \end{verbatim} 819 \pause 820 Voici l'astuce: 821 \begin{verbatim} 822 perl -we 'my $ref; print @{ $ref || [] }' 823 \end{verbatim} 824 \pause 825 \vfill 826 \vfill 827 Attention au type de variable référencée: 828 \begin{verbatim} 829 perl -we 'my $ref = {}; print @{ $ref }' 830 Not an ARRAY reference at -e line 1. 831 \end{verbatim} 832 \pause 833 \vfill 834 \vfill 835 Attention 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} 844 On peut connaitre le type de référence avec \verb+ref()+ 845 \begin{verbatim} 846 perl -we 'my $ref = {}; print ref $ref' 847 HASH 848 \end{verbatim} 849 \vfill 850 \vfill 851 \pause 852 Tout 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} 860 Version moderne: 861 862 Ouvrir un fichier en lecture: 863 \begin{verbatim} 864 open(my $handle, '<', 'fichier'); 865 \end{verbatim} 866 \pause 867 Lire une ligne: 868 \begin{verbatim} 869 my $line = <$handle>; 870 chomp($line); # strip cariage return 871 \end{verbatim} 872 \pause 873 Fermer le fichier: 874 \begin{verbatim} 875 close($handle); 876 \end{verbatim} 877 \pause 878 \vfill 879 Ancienne méthode: 880 \begin{verbatim} 881 open(HANDLE, '<', 'fichier'); 882 my $line = <HANDLE>; 883 chomp($line); # strip cariage return 884 close(HANDLE); 885 \end{verbatim} 886 \end{frame} 887 888 \begin{frame}[fragile] 889 \frametitle{Fichier: version simple (suite)} 890 891 Ouvrir: 892 \begin{verbatim} 893 open(my $handle, '>', 'fichier'); 894 \end{verbatim} 895 \pause 896 Écrire: 897 \begin{verbatim} 898 print $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 904 Fermer: 905 \begin{verbatim} 906 close($handle); 907 \end{verbatim} 908 \pause 909 Trois 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} 915 Pour des besoins très spécifiques: 916 \begin{itemize} 917 \item open()/close() 918 \item read()/print() 919 \end{itemize} 920 921 \vfill 922 ou: 923 \vfill 924 \pause 925 \begin{itemize} 926 \item sysopen()/sysclose() 927 \item sysread()/syswrite() 928 \end{itemize} 929 \pause 930 \vfill 931 \vfill 932 Si 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 811 942 \section{Cookbook} 812 943
Note: See TracChangeset
for help on using the changeset viewer.