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); }