use Data::Dumper; use DateTime; use Data::Visitor::Callback; my $glob = { dt => DateTime->now(), h => { a => 1, b => 2, dtx => DateTime->now() }, }; my $v = Data::Visitor::Callback->new( 'DateTime' => sub { $_ = "$_" }, 'ignore_return_values' => 1, ); $v->visit( $glob ); print Dumper $glob; __END__ $VAR1 = { 'h' => { 'dtx' => '2008-12-02T17:56:41', 'a' => 1, 'b' => 2 }, 'dt' => '2008-12-02T17:56:41' };