http://www.perlmonks.org?node_id=453863

Baramin has asked for the wisdom of the Perl Monks concerning the following question:

Hi there fellow monks, I've been experiencing a problem for some time now and have decided to seek some external help. I'm writing a perl tool here at my job, using among other modules, DBD-sqlite. I intended to turn it into an EXE as soon as development was stable enough to enter production phase, so my collegues wouldn't need to install Perl on their PCs. Unfortunatly, I'm hitting a wall with my EXEs not returning to DOS prompt once finished, as the PP/PAR duo doesn't seem able to clean the temporary files it created. This behavior is only happening if I 'use DBI'. It also doesn't happen when I don't use pp.exe's -C (autoclean) option. But if I don't use that option, then the generated exe will not clean files in %TEMP% directory. Here's an example that you probably can reproduce if, like me, you're using : - activestate perl 5-8-6 multi-thread - pp 0.12 / PAR 0.87 - DBI 1.48
use DBI ; print "quitting\n" ;
'compiling' it with the following command :
pp -C -o tstpp.exe tstpp.pl
It generates a .EXE that only terminates with Ctrl-C. (once again, not using '-C' option gives a good EXE but pollutes windows temporary directory, and I can't clean it from inside the script). Has anyone encountered and managed to solve that problem ? Or will I have to forget about autoclean option, run my .EXE from a .BAT which will clean the directory after perl returns ? Thanks a lot in advance for your answers, and sorry if my english's not that good, it's not my mother tongue.