I generally use the -w flag, but I didn't want this to throw warnings to unsuspecting users. It should only be used by 3 people, anyhow. Using -w on the command line doesn't trow warnings for this one.
I've never used strict, but I have seen it mentioned before. It is my understanding that it forces me to predefine my variables. This will avoid problems down the line caused by variables with uncertain values. Is that correct?
Error checking has never been one of my strong points :P But yes, you are correct, I should check for the ability to open the output file.
By the way, how would I add the -w flag to the script in Windows? Most of my (limited) Perl coding has been on Linux, so I've just needed to add it to the #!/usr/bin/perl line.