For actual use I'd create the directory internally from the program and then remove it when finished. You'll also want to come up with some dynamic means of choosing the directory name since you don't want to try and delete the directory while another instance of the program is trying to write to it.
I've got that figured out perfectly, in fact. I'm currently doing the following: use strict; # the usual suspects
use Date::Manip; # date functions
use Digest::MD5 qw(md5_hex); # convert date to md5
use File::Path; # mkpath/rmtree
my $workpath = "/var/lib/pler"; # yes, pler =)
my $date = UnixDate("today","%b %e, %Y at %T");
my $md5file = md5_hex($date);
sub grok_data { # not the real name
mkpath(["$workpath/$md5file"], 0, 0711);
... process data
rmtree(["$workpath/$md5file"], 0, 1);
}
So far, this works flawlessly in another script that deals with the template as a file, but I'm converging the two separate scripts (and their functionality) into one, switchable by keys found inside the template.
Thanks for the tips, I'll give this a try today. |