crontool
Paste a schedule, read it in English, see the next runs.

Running a Perl Script with Cron

Call perl by absolute path since cron's PATH is minimal, and set any PERL5LIB your modules need because cron doesn't load your profile.

The crontab line

30 2 * * * /usr/bin/perl /opt/app/report.pl >> /var/log/perl-job.log 2>&1

Find the path with which perl and use it verbatim.

Missing modules under cron

If a module loads in your shell but not in cron, set the library path: 30 2 * * * PERL5LIB=/opt/app/lib /usr/bin/perl /opt/app/report.pl.

perlbrew

perlbrew installs perl under your home dir. Use its full path, e.g. ~/perl5/perlbrew/perls/perl-5.38/bin/perl.

FAQ

How do I run a Perl script from cron?

Use the absolute perl path: 30 2 * * * /usr/bin/perl /opt/app/report.pl. Find it with which perl.

Why can't cron find my Perl module?

Cron does not set PERL5LIB from your profile. Add PERL5LIB=/path/to/lib inline in the crontab line.

How do I use a perlbrew perl in cron?

Reference its full path under ~/perl5/perlbrew, since perlbrew perls are not on cron PATH.