use POSIX qw/strftime/; # Main routine... my $logfile = "program-%Y-%m-%d.log"; &do_log($logfile, "This is the message I want to log"); sub do_log { my $logfile = shift; my $message = shift; open LOG, ">>".strftime($logfile, localtime); print LOG stftime("%H:%M:%S ", localtime); print LOG $message,"\n"; close LOG; }