It really is not a perl question, but it is possible. On unix you may unlink the running program's file (on most versions of unix at least) and the file will be deleted (it still really exists until the proccess ends. I do not think you can do it the same way on windows platforms -- you may have to release control (exec) to another program that removes the exe that you were running. for windows that may mean execing cmd with the delete command in the exec string. one problem here is that if your exec fails for some reason you have no chance to recover...