in reply to Search for file using element of path as file name

You need to enclose $dir/$new_date in quotes. Otherwise, Perl assumes that you are trying to perform division with two scalars.
opendir (DIR, "$dir/$date_cfg") or die "Can't read from $dir/date_cfg: + $!\n";
In fact, ordinarily you would have spotted this problem right away. Perl will generate an error similar to the following:
Argument "new_date" isn't numeric for division at somescript.cgi line +15. Illegal division by zero at somescript.cgi line 15.
The "isn't numeric" warning occurs if you use the -w switch, but does not stop the program. However, since Perl will do string/numeric conversions on the fly, it will usually result in a division by zero error, which does kill the program. Only because you are using numeric data in your second argument are you not getting an error.

Cheers,
Ovid