I need a random temporary file to put some data in while my script executes. The file should be removed automatically after the script completes. Enter
File::Temp which handles all of this for you.
use File::Temp; my ($fh, $filename) = File::Temp::tempfile(UNLINK => 1);
Alternately if you need a temporary directory that's automatically removed on completion you can use:
use File::Temp; my $dir = File::Temp::tempdir(CLEANUP => 1);
File::Temp is a core module, so you already have it.