Are you on Win32? File::Temp claims that it doesn't unlink things in child processes, but if you're on Win32, you're only getting a pseudo-fork (see perlfork).
In any case, one approach is just to tell File::Temp not to unlink things automatically (with UNLINK => 0) and do your own cleanup. It's hard to be more specific with suggestions without knowing how you're using File::Temp.
-xdg
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.