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

On numerous occasions tilly has recommended File::Temp as a secure way for Perl scripts to handle temporary files.   I recently got around to following his sage advice.   Here's an elementary snippet I concocted while learning the rudiments of said CPAN module.
#!/usr/bin/perl -w # filetemptest.pl 2001-01-19 # File::Temp 0.11 File::Spec 0.82 # Perl 5.00503 Debian 2.2 "Espy" use strict; use File::Temp qw(tempfile unlink0 ); use vars qw($fh $filename); my $progname = 'filetemptest.pl'; my $template = 'filetemptestXXXXXXXXXX'; my $dir = '/tmp/'; ($fh, $filename) = tempfile($template, DIR => $dir) or die " $progname: Error creating $filename: $!"; print "\nCreated file $filename.\n"; open (TMP, "> $filename") or die "$progname: Error opening $filename for WO: $!"; print TMP "\nS'working?\n" or die "$progname: Error writing to $filename: $!"; close (TMP) or die "$progname: Error closing $filename: $!"; print "Printed data to $filename\n"; print "\nUnlinking $filename\n<ENTER> to continue, CTRL+C to abort.\n" +; my $continue = (<STDIN>); unlink0 ($fh, $filename) or die "$progname: Error unlinking file $filename safely: $!";