use Win32::ShellQuote(); use Win32::Process(); my(@Node_Exe_Location) = ['C:\Program Files\nodejs\node.exe']; my(@Child_Script_To_Run) = [ 'node', 'I:\HTTPS\prinet.org\site\assets\javascript\child-module.js' ]; Win32::Process::Create( $Child_Module, Win32::ShellQuote::quote_system_string(@Node_Exe_Location), Win32::ShellQuote::quote_system_string(@Child_Script_To_Run), 0, Win32::Process::DETACHED_PROCESS(), ".", ) or do { my($err) = int($!).' '.$!." #### ".int($^E)." $^E "; warn "??? - CreateProcess failed $err "; };