Ответ Грега Хьюгилла касается основных функций API Windows, которые вам нужны, но не о том, как их использовать в Perl.Для этого можно использовать модуль Win32 :: Process :
use strict;
use warnings;
use Win32::Process;
Win32::Process::Create(
my $process,
'C:\WINDOWS\system32\notepad.exe', # path of executable
"notepad", # command line it sees
0, # don't inherit our handles
NORMAL_PRIORITY_CLASS, # process creation flags
"." # current directory for process
) or die $^E;
print "started\n";
$process->Wait(INFINITE);
print "done\n";
$process->GetExitCode(my $exitcode) or die $^E;
print "process exit code $exitcode\n";
$process
также можно передать в функции Win32 :: IPC wait_any
и wait_all
, если вам нужно одновременно ожидать более одного объекта.