There is a way to do this by setting a value in the registry to run the program on the next reboot and then forcing a reboot on the system.
in reply to Re: Re: Deleting a running script
in thread Deleting a running script
I can't offer any additional guidance since I am certainly no Windows Programming Guru....except to say that I know this can be done because I have seen it in commercial installer programs.
I found this artcle on forcing a reboot on http://www.devx.com/ which is not a perl solution but perhaps there is a way to do this with one of the Win32 modules on CPAN