use strict; use warnings; use Win32::Process; my $cmd = 'dir'; #system("start cmd.exe /k $cmd"); my $processObj; Win32::Process::Create( $processObj, "C:/windows/system32/cmd.exe", "cmd.exe /k $cmd", 0, NORMAL_PRIORITY_CLASS | CREATE_NEW_CONSOLE, "." ); sleep(10); # do other stuff $processObj->Kill(0);