in reply to regexp w/ special chars

Use \Q and \E to 'quote' the string being interpolated into the search:
$string =~ s/\Q$token\E/$date/;
Otherwise you get a nasty message:
Invalid [] range "Y-%" in regex; marked by <-- HERE in m/[DATE:%Y-% <-- HERE m-%d]/

Or you could use quotemeta() on the string beforehand?