perl.req(1) list requirements for Perl scripts and libraries

SYNOPSIS

perl.req [-h|--help] [-v|--verbose] [-m|--method=strict|normal|relaxed] [FILE...]

DESCRIPTION

perl.req calculates prerequisites for each Perl source file specified on a command line; alternatively, a list of files is obtained from standard input, one file per line. "use", "require" and "do" statements are processed. The output of perl.req is suitable for automatic dependency tracking (e.g. for RPM packaging).

For example, /usr/lib/perl5/File/Temp.pm requires, in particular, "perl(Fcntl.pm) >= 1.030" (as of perl-5.8.6).

perl.req is basically a wrapper for B::PerlReq Perl compiler backend.

OPTIONS

-m, --method=method
Use particular method for dependency tracking. Alternatively, RPM_PERL_REQ_METHOD environment variable can be used to set the method.

The following methods are available:

strict
Search thoroughly and list all requirements. In particular, list platform-specific (non-UNIX) requirements and requirements found inside "eval" blocks.
normal (default)
Enable moderate search most acceptable for RPM packaging. That is, skip files known to be platform-specific; skip platform-specific requirements and those found inside "eval" blocks; skip most common requirements (e.g. "strict.pm").
relaxed
Enable relaxed mode. That is, tolerate B::PerlReq failures; in addition to normal method, skip conditional requirements (e.g. "require" statements inside subroutines); skip "do FILE" statements; list only essential dependencies.
-v, --verbose
Increase verbosity.

AUTHOR

Written by Alexey Tourbin <[email protected]>, based on an earlier version by Ken Estes <[email protected]>, with contributions from Mikhail Zabaluev <[email protected]>.

HISTORY

Initial version of perl.req (part of RPM 3.0) done by Ken Estes in 1999. Regular expressions were used to extract dependencies. (Later a part of ALT Linux Master 2.0, with modifications from Mikhail Zabaluev.)

Reworked in November 2002: complicated regular expressions were added to enhance search; methods added. (Later a part of ALT Linux Master 2.2.)

Reworked in September 2003: B::Deparse was utilized to re-format Perl code before dependency extraction; hence more simple and accurate. Decoupled from rpm-build package into rpm-build-perl. (Later a part of ALT Linux Master 2.4.)

Reworked in December 2004: B::PerlReq was developed. Released on CPAN, see <http://search.cpan.org/dist/rpm-build-perl/>.

COPYING

Copyright (c) 2003, 2004 Alexey Tourbin, ALT Linux Team.

This is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.