use DateTime::Event::Recurrence; my %params = ( recur=>'daily', hours=>10, minutes=>30 ); my $recur = delete $params{recur}; my $event = DateTime::Event::Recurrence->$recur(%params); # same as DT::E::Recurrence->daily( hours=>10, minutes=>30 )