--- a/generator/ppmrainbow 2010-02-12 23:20:41 +0300 +++ b/generator/ppmrainbow 2010-02-13 18:30:55 +0300 @@ -4,8 +4,6 @@ my ($FALSE, $TRUE) = (0,1); -(my $myname = $0) =~ s#\A.*/##; - sub fatal($) { my ($msg) = @_; @@ -18,7 +16,6 @@ # set defaults $Twid = 600; $Thgt = 8; -$tmpdir = $ENV{"TMPDIR"} || "/tmp"; $norepeat = $FALSE; $verbose = $FALSE; @@ -47,7 +44,9 @@ push @colorlist, $ARGV[0]; } -my $tmpprefix = $tmpdir . "/$myname.$$."; +use File::Temp qw(tempdir); +use sigtrap qw(die normal-signals); +$tmpdir = tempdir("ppmrainbow.XXXXXXXX", TMPDIR => 1, CLEANUP => 1); my $widthRemaining; my $n; @@ -58,7 +57,7 @@ @outlist = (); while (@colorlist >= 2) { - my $outfile = sprintf("%s%03u.ppm", $tmpprefix, $n); + my $outfile = sprintf("%s/%s%03u.ppm", $tmpdir, $n); push(@outlist, $outfile); my $w = int(($widthRemaining-1)/(@colorlist-1))+1; @@ -76,7 +75,3 @@ or exit 1; exit 0; - -END { - unlink @outlist if @outlist; -}