Sorry I lied, upgrading my modules from cpan didn't help at all; it is just that some debug statements I put in to decipher the problem actually papered it over.
In particular, 1. in DateTime::Event::ICal previous => sub { ... my @list = $subset->as_list; print STDERR (__PACKAGE__, " ERROR: empty list\n") and return undef unless @list; 2. in Set::Infinite::_recurrence function _recurrence $min2 = $callback_previous->( $min1 ); print STDERR __PACKAGE__, " ERROR: no min2 from $callback_previous\n" and return $set->new() unless $min2; So with those two insertions which also return early, the code works ok with my RRULE statements. Those error statements *do* get printed. So I've got a workaround, but not one I understand; i just found these points by printing stack traces from the undefined symbol warnings. -mda