5 P e r l P e r l I / O P e r l P e r l P e r l P e r l P e r l I / O P e r l P e r l 5.1 P e r l P e r ( ) S T D I N P e r l S T D I N 2 $ @ P e r l f o r e a c h e l s e i f P e r l p e r l f u n c o p e n o p e n O p e open (filehandle, pathname) o p e n
54 Perl c :/ w i n d o w s / s y s t e m / o p e n o p e n 0 o p e u n d e f o p e n i f M Y F I L E e l s e P e r l d i e d i e P e r l s c r i p t n a m e P e r l x x x d i e d i e o p e n o p e n FA L S E O R d i e o p e n T R U E d i e O R o r c l o s e 5.1.1 n o v e l. t x t P e r l P e r l Wi n d o w s M S - D O S P e r l \ Wi n d o w s \ u s e r \ p i e r c e \ n o v e l. t x t
5 55 \ n P e r l Wi n d o w s M S - D O S / Wi n d o w s D O S U N I X / h o m e / f o o Wi n d o w s c :/ w i n d o w s / w i n. i n i U N I X../ j u n k f i l e Wi n d o w s../ b o b d i r / b o b s f i l e. t x t o p e n Microsoft Wi n d o w s U N C U N C P e r l U N C M a c i n t o s h 5-1 5-1 MacPerl M a c i n t o s h S y s t e m : U t i l s : c o n f i g M y S t u ff : f r i e n d s S h o p p i n g L i s t c o n f i g M y S t u ff f r i e n d s S h o p p i n g L i s t 5.1.2 F r e d r i c k P. B r o o k s Mythical Man-Month
56 Perl 5.1.3 die P e r l d i e d i e d i e at scriptname line xxx P e r l $! $! $! c a n n o t open myfile : a file or directory in the path does not exist $! $! $! $! P e r l w a r n w a r n d i e 5.2 P e r l < >
5 57 u n d e f U N I X ASCII 10 D O S Wi n d o w s ASCII 13 1 0 P e r l 12 M Y F I L E w h i l e w h i l P e r l $ _ w h i l e $ _ w h i l e P e r l c h o m p M Y F I L E @ c o n t e n t s n o v e l. t x t @contents:$contents [0] $content [1] 5-1 5-1
58 Perl I am the very model of a modern major-general, 5-1 1 - w 3 F H d i e 4 @ s t u ff 7 @ s t u ff 1 f o r e a c h $ _ f o r e a c h 8 $ _ s c a l a r p r i n t r e v e r s e $ _ s c a l a r r e v e r s e $ _ P e r l P e r l P e r l 5.3 > > P e r l p a t h n a m e f i l e h a n d l > > P e r l
5 59 Pe r l Windows 95/98 M a c > > > c l o s e p r i n t p r i n t p r i n f i l e h a n d l e L I S T p r i n t P e r l p r i n t P e r l P e r l No comma allowed after filehandle l o g f i l e p r i n t L O G F p r i n t
60 Perl p r i n t < S O U R C E > D E S T 5.4 P e r l 5.4.1 P e r l U N I X U N I X P e r l 3 S T D O U T S T D I N S T D E R R P e r l S T D I N p r i n t p r i n S T D O U T 12 p r i n t S T D E R R U N I X S T D E R R d i e w a r n S T D E R R Wi n d o w s D O S S T D E R R S T D O U T U N I X s h e l l U N I X 5.4.2 V M S Atari ST Wi n d o w s D O S P e r l
5 61 P e r l \ n U N I X \ n ASCII 10 L F M a c i n t o s h \ n ASCII 13 C R D O S Wi n d o w s ASCII 13 ASCII 10 C R L F G I F E X E MS word P e r l b i n m o d e b i n m o d e b i n m o d e U N I X M a c i n t o s h b i n m o d e 5.4.3 permission denied P e r l x f i l e h a n d l e p a t h n a m e 5-2 5-2 - r - r f i l e f i l e - w -w $a $ a - e - e m y f i l e m y f i l e - z - z d a t a d a t a - s - s d a t a d a t a d a t a - f - f n o v e l. t x t n o v e l. t x t - d - d / t m p / t m p - T - T u n k n o w n u n k n o w n - B - B u n k n o w n u n k n o w n - M - M f o o f o o p e r l d o c p e r l f u n c Alphabetical List of Perl Functions P e r l
62 Perl 5.5 p e r l o p e n c l o s e < > r e a d p r i n t b i n m o d e 5.6 5.6.1 o p e n o p e n o p e n > o p e n die $! ; o p e n d i e c : t a b e m p ( n e w l i n e ) o t e s. t x t o p e n P e r l P e r l o p e n p e r l permission denied P e r l P e r l P e r l g e t c 15 16
5 63 15 5.6.2 1 d a t a a. open F Hd a t aw r i t e b. open F Hd a t a F H c. open F H> d a t a die Cannot open data: $! ; 2 -M $file > 1 and -s $file a. $file b. c. $file 5.6.3 1 c a o p e n b c 2 a - M > 1 - s 5.6.4 4 H a n g m a n