NAME

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

SYNOPSIS

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

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

DESCRIPTION

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

Syntax

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").

Functions

new($spec, [@range])

Creates a new Set::Crontab object and returns a reference to it.

contains($num)

Returns true if $num exists in the set.

list()

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.

SEE ALSO

crontab(5)

AUTHOR

Abhijit Menon-Sen <ams@toroid.org>

Copyright 2001 Abhijit Menon-Sen <ams@toroid.org>

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