You will need to use a flag that I dont see documented in Win32::Process, but that is in the first page of Process.pm (DETACHED_PROCESS).
I hope the folowing code borrowed from Dave Roth's Win32 Perl Programming helps :
use Win32::Process;
# Win32::Process::Create( $process, $program, $command_line, $inherit,
+ $flags, $directory)
$app = "d:\\apps\\perl\\bin\\perl.exe";
$cmd = 'perl daemon.pl';
$b_inherit = 1;
$flags = CREATE_NEW_PROCESS || DETACHED_PROCESS;
$dir = '.';
$result;
$result = Win32::Process::Create( $process,
$app,
$cmd,
$b_inherit,
$flags,
$dir);
if ($result) {
print "$cmd has been created with process id of $result\n";
}
else {
print "unable to start $cmd\n";
print "error : " . Win32::FormatMessage( Win32::GetLastError() );
}