IMHO this is a bug in Date::Manip. Passing a decoded text string to a module that works on text should always work. Sadly it doesn't in this case, and there are quite some other modules on cpan that suffer from the being non-Unicode aware (GD::Graph or GD::Text for example).