File::Temp can be used to create and open temporary files in a safe way. There is both a function interface and an object-oriented interface. The File::Temp constructor or the tempfile() function can be used to return the name and the open file handle of a temporary file. The tempdir() function can be used to create a temporary directory.