N A M E 
 
         W i n 3 2 : : P i p e : : P P   -   P u r e   P e r l   r e p l a c e m e n t   f o r   W i n 3 2 : : P i p e   u s i n g   W i n 3 2 : : A P I 
 
 
 
 O V E R V I E W 
 
         T h i s   m o d u l e   p r o v i d e s   a   p u r e   P e r l   i m p l e m e n t a t i o n   o f   W i n 3 2 : : P i p e ,   u s i n g 
 
         W i n 3 2 : : A P I   t o   b i n d   d i r e c t l y   t o   n a t i v e   W i n d o w s   s y s t e m   c a l l s .   I t   i s 
 
         d e s i g n e d   a s   a   d r o p - i n   r e p l a c e m e n t   f o r   t h e   o r i g i n a l   X S - b a s e d   m o d u l e ,   w i t h 
 
         A P I   c o m p a t i b i l i t y   a n d   i m p r o v e d   m a i n t a i n a b i l i t y . 
 
 
 
 G O A L S 
 
         *       E l i m i n a t e   X S   d e p e n d e n c y   f o r   e a s i e r   i n s t a l l a t i o n   a n d   p o r t a b i l i t y 
 
 
 
         *       P r o v i d e   f u l l   A P I   c o m p a t i b i l i t y   w i t h   W i n 3 2 : : P i p e 
 
 
 
         *       S u p p o r t   W i n 3 2 : : I P C   i n t e g r a t i o n   v i a   " g e t _ W i n 3 2 _ I P C _ H A N D L E " 
 
 
 
         *       E n a b l e   m o d u l a r   t e s t i n g   a n d   e x t e n s i b i l i t y 
 
 
 
 D I F F E R E N C E S 
 
         *       N o   X S   o r   c o m p i l e d   c o m p o n e n t s   -   i m p l e m e n t e d   e n t i r e l y   i n   P e r l 
 
 
 
         *       M e s s a g e   m o d e   a n d   a d v a n c e d   f l a g s   a r e   s i m p l i f i e d   o r   s t u b b e d 
 
 
 
         *       S u p p o r t   W i n d o w s   w a i t a b l e   f u n c t i o n   i n   n e w   m e t h o d   " w a i t " 
 
 
 
 I M P R O V E M E N T S 
 
         *       " R e a d ( ) "   h a n d l e s   " E R R O R _ M O R E _ D A T A "   c o r r e c t l y   a n d   r e t u r n s   c o m p l e t e 
 
                 d a t a 
 
 
 
         *       C o n s i s t e n t   e r r o r   r e p o r t i n g   v i a   " E r r o r ( ) " 
 
 
 
         *       I P C   c o m p a t i b i l i t y   v i a   " g e t _ W i n 3 2 _ I P C _ H A N D L E " 
 
 
 
 P R O J E C T   S T R U C T U R E 
 
         T h i s   d i s t r i b u t i o n   f o l l o w s   C P A N   b e s t   p r a c t i c e s   f o r   l a y o u t   a n d   p a c k a g i n g : 
 
 
 
             W i n 3 2 - P i p e - P P / 
 
             ! 
 
             + - -   L I C E N S E                                     #   M I T   l i c e n s e   t e x t 
 
             + - -   M a k e f i l e . P L                             #   B u i l d   s c r i p t   u s i n g   E x t U t i l s : : M a k e M a k e r 
 
             + - -   C h a n g e s                                     #   V e r s i o n   h i s t o r y   a n d   r e l e a s e   n o t e s 
 
             + - -   M A N I F E S T . S K I P                         #   P a t t e r n s   t o   e x c l u d e   f r o m   M A N I F E S T 
 
             + - -   M A N I F E S T                                   #   L i s t   o f   f i l e s   i n c l u d e d   i n   t h e   C P A N   d i s t r i b u t i o n 
 
             + - -   . g i t i g n o r e                               #   G i t   e x c l u s i o n   r u l e s   f o r   b u i l d   a r t i f a c t s ,   e t c . 
 
             + - -   R E A D M E                                       #   P r o j e c t   o v e r v i e w ,   g o a l s ,   d i f f e r e n c e s 
 
             + - -   l i b / 
 
             !       ' - -   W i n 3 2 / 
 
             !               ' - -   P i p e / 
 
             !                       ' - -   P P . p m                 #   M a i n   m o d u l e   w i t h   f u l l   P O D 
 
             + - -   t /                                               #   P u b l i c   t e s t   s u i t e   ( r u n s   v i a   " m a k e   t e s t " ) 
 
             !       + - -   0 1 _ l o a d . t                         #   C o n s t r u c t o r   u s a g e 
 
             !       + - -   0 2 _ a p i _ c o m p a t . t             #   A P I   c o m p a t i b i l i t y   w i t h   X S   v e r s i o n 
 
             !       + - -   0 3 _ b e h a v i o r . t                 #   E x p e c t e d   b e h a v i o r   u n d e r   n o r m a l   c o n d i t i o n s 
 
             !       + - -   0 4 _ e r r o r _ c o d e s . t           #   E r r o r   h a n d l i n g   a n d   r e t u r n   v a l u e s 
 
             !       + - -   0 5 _ r e a d _ w r i t e . t             #   C l i e n t   s e r v e r   t e s t 
 
             !       + - -   0 6 _ i p c _ s u p p o r t . t           #   C o m p a t i b i l i t y   w i t h   W i n 3 2 : : I P C : : w a i t _ a n y 
 
             !       + - -   0 7 _ n o n - b l o c k i n g . t         #   N o n   B l o c k i n g   t e s t 
 
             !       + - -   0 8 _ t h r e a d s . t                   #   C o m p a t i b i l i t y   w i t h   t h r e a d s 
 
             + - -   . g i t h u b / 
 
             !       ' - -   w o r k f l o w s / 
 
             !               ' - -   c i . y m l                       #   G i t H u b   A c t i o n s   w o r k f l o w   f o r   a u t o m a t e d   t e s t i n g 
 
 
 
 A U T H O R 
 
         J .   S c h n e i d e r   < b r i c k p o o l @ c p a n . o r g > 
 
 
 
 L I C E N S E 
 
         M I T   L i c e n s e   -   s e e   L I C E N S E   f i l e   f o r   f u l l   t e x t .   H o w e v e r ,   t h i s   l i b r a r y 
 
         d i s t r i b u t e s   a n d   r e f e r e n c e s   c o d e   f r o m   o t h e r   o p e n   s o u r c e   p r o j e c t s   t h a t 
 
         h a v e   t h e i r   o w n   l i c e n s e s . 
 
 
 
 C R E D I T S 
 
         S p e c i a l   t h a n k s   g o   t o   D a v i d   R o t h   f o r   c r e a t i n g   W i n 3 2 : : P i p e 
 
 
 
 