||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.
# filetemptest.pl 2001-01-19
# File::Temp 0.11 File::Spec 0.82
# Perl 5.00503 Debian 2.2 "Espy"
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: $!";
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: $!";
Back to Snippets Section