Description: 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

#    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 = '';
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: $!";