Scroll to navigation

Crontab(3pm) User Contributed Perl Documentation Crontab(3pm)


Set::Crontab - Expand crontab(5)-style integer lists


$s = Set::Crontab->new("1-9/3,>15,>30,!23", [0..30]);

if ($s->contains(3)) { ... }


Set::Crontab parses crontab-style lists of integers and defines some utility functions to make it easier to deal with them.


Numbers, ranges, *, and step values all work exactly as described in crontab(5). A few extensions to the standard syntax are described below.

< and >
<N selects the elements smaller than N from the entire range, and adds them to the set. >N does likewise for elements larger than N.
!N excludes N from the set. It applies to the other specified range; otherwise it applies to the specified ranges (i.e. "!3" with a range of "1-10" corresponds to "1-2,4-10", but ">3,!7" in the same range means "4-6,8-10").


Creates a new Set::Crontab object and returns a reference to it.
Returns true if $num exists in the set.
Returns the expanded list corresponding to the set. Elements are in ascending order.

The functions described above croak if they are called with incorrect arguments.




Abhijit Menon-Sen <>

Copyright 2001 Abhijit Menon-Sen <>

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2021-01-04 perl v5.32.0