in reply to regex match with interpolated pattern

You're date variable is using / as the delimiter. As a result you aren't matching the pattern you think you are. You could just use a different delimiter for your pattern.
if ($_ = m%$dm%) { #stuff }
Or you could call quotemeta() on your variable.
my $dm = quotemeta($date);
quotemeta() will escape all non-word characters.

UPDATE: After reading hv's reply, I agree with him. SOmething didn't seem right to me as I was replying...he caught it though :)

This @ISA my cool %SIG