Both methods are a last resort, at best, though.
date is not available on Windows machines (if that's a concern) and requires a new process to be spawned just to get the date.
Date::Manip is about the heaviest module you can use for any job and shouldn't be considered before other alternatives have been ruled out.
Makeshifts last the longest.