Try the localtime function which comes with Perl. Alternatively try page 82 of the Perl Cookbook or even chapter 3 of the same book.
Concerning opening the file, is it being created where you think it should be? Your code example shows that it should be created in the same directory that you are running the script in - is this correct? You might want to add a variable describing the directory path you want to print to and use this to the $filename variable. So
$path = "C:/path/to/directory"
open(TEMPFILE, "$path/$filename") or die "Can't open file: $!\n";
...whatever
close TEMPFILE or die "Can't close file: $!\n";
If you're still having problems, try out ActiveState's documentation on reading/writing to files and directories. It comes with the software.
Good luck.
MadraghRua
yet another biologist hacking perl....