NAME Win32::Pipe::PP - Pure Perl replacement for Win32::Pipe using Win32::API OVERVIEW This module provides a pure Perl implementation of Win32::Pipe, using Win32::API to bind directly to native Windows system calls. It is designed as a drop-in replacement for the original XS-based module, with API compatibility and improved maintainability. GOALS * Eliminate XS dependency for easier installation and portability * Provide full API compatibility with Win32::Pipe * Support Win32::IPC integration via "get_Win32_IPC_HANDLE" * Enable modular testing and extensibility DIFFERENCES * No XS or compiled components - implemented entirely in Perl * Message mode and advanced flags are simplified or stubbed * Support Windows waitable function in new method "wait" IMPROVEMENTS * "Read()" handles "ERROR_MORE_DATA" correctly and returns complete data * Consistent error reporting via "Error()" * IPC compatibility via "get_Win32_IPC_HANDLE" PROJECT STRUCTURE This distribution follows CPAN best practices for layout and packaging: Win32-Pipe-PP/ ! +-- LICENSE # MIT license text +-- Makefile.PL # Build script using ExtUtils::MakeMaker +-- Changes # Version history and release notes +-- MANIFEST.SKIP # Patterns to exclude from MANIFEST +-- MANIFEST # List of files included in the CPAN distribution +-- .gitignore # Git exclusion rules for build artifacts, etc. +-- README # Project overview, goals, differences +-- lib/ ! '-- Win32/ ! '-- Pipe/ ! '-- PP.pm # Main module with full POD +-- t/ # Public test suite (runs via "make test") ! +-- 01_load.t # Constructor usage ! +-- 02_api_compat.t # API compatibility with XS version ! +-- 03_behavior.t # Expected behavior under normal conditions ! +-- 04_error_codes.t # Error handling and return values ! +-- 05_read_write.t # Client server test ! +-- 06_ipc_support.t # Compatibility with Win32::IPC::wait_any ! +-- 07_non-blocking.t # Non Blocking test ! +-- 08_threads.t # Compatibility with threads +-- .github/ ! '-- workflows/ ! '-- ci.yml # GitHub Actions workflow for automated testing AUTHOR J. Schneider LICENSE MIT License - see LICENSE file for full text. However, this library distributes and references code from other open source projects that have their own licenses. CREDITS Special thanks go to David Roth for creating Win32::Pipe