use strict; use warnings; use IPC::Run qw( start ); my @c = qw( cmd /c sort ); my $h = start \@c, 'pipe', \*OUT; print IN "zzz...\n"; print IN "hello world\n"; close IN; pump $h; print uc while ; close OUT; finish $h; #### HELLO WORLD ZZZ... #### pp -o pack_test.exe pack_test.pl #### Inappropriate I/O control operation: Win32::Process::Create() at C:\Users\me\AppData\Local\Temp\par-766164696d\cache-2f8c1556e4a094e1c7eee6ea88e299192e77e2e4\inc\lib/IPC/Run.pm line 2150. Inappropriate I/O control operation: Win32::Process::Create() at C:\Users\me\AppData\Local\Temp\par-766164696d\cache-2f8c1556e4a094e1c7eee6ea88e299192e77e2e4\inc\lib/IPC/Run.pm line 2251. #### local $^X = $ENV{ PAR_TEMP } . '\inc\perl.exe' if $^X eq 'perl.exe' and exists $ENV{ PAR_TEMP }; #### pp -M IPC::Run::Win32Pump -a C:\berrybrew\strawberry-perl-5.32.1.1-64bit-PDL\perl\bin\perl.exe;perl.exe -o pack_test.exe pack_test.pl #### HELLO WORLD ZZZ...