Sorry for the confusion. $Today is previously defined to get the date today. As is $SRCDIR & $TARDIR. And yes I start all my scripts with use strict; use warnings; Also have a BEGIN block to catch errors: BEGIN { open (STDERR,">> $0.txt"); print STDERR "\n", scalar localtime, "\n"; } $|=1;