PERL.REQ(1)
π PERL.REQ π
okay bestie, so you know how Perl scripts are always leaning on other stuff? yeah. this is the lil tool that snitches on them and tells you exactly what they need. it's called perl.req, it lives in section 1 of the manual, and it's lowkey iconic for packaging people.
β¨ NAME β¨
perl.req β list requirements for Perl scripts and libraries π«Ά
πΈ SYNOPSIS πΈ
perl.req [-h|--help] [-v|--verbose] [-m|--method=strict|normal|relaxed]
[FILE...]
π¦ DESCRIPTION π¦
so basically, perl.req calculates prerequisites for every Perl source file you hand it on the command line. no files on the command line? no problem, it'll grab a list of files from standard input instead β one file per line, bestie. π
it processes use, require and do statements. and the output? chef's kiss. it's formatted so automatic dependency tracking can just eat it up (think RPM packaging, iykyk).
for example, /usr/lib/perl5/File/Temp.pm requires, in particular, perl(Fcntl.pm) >= 1.030 (as of perl-5.8.6). like, that's the vibe.
and ngl, perl.req is basically a wrapper for the B::PerlReq Perl compiler backend. that's the main character behind the scenes. β¨
π OPTIONS π
-m,--method=methodβ pick which method you want for dependency tracking. or, if you're feeling extra, you can set the method with theRPM_PERL_REQ_METHODenvironment variable instead.
here are the methods, bestie:
strictβ search thoroughly and list all requirements. like, all of them. in particular, it lists platform-specific (non-UNIX) requirements and requirements found insideevalblocks. no skipping, no cap. π₯normal(default) β the moderate search, most acceptable for RPM packaging. so like: skip files known to be platform-specific; skip platform-specific requirements and the ones found insideevalblocks; and skip the most common requirements (e.g.strict.pm). it's giving "we don't need to list the obvious ones". πrelaxedβ relaxed mode, baby. it toleratesB::PerlReqfailures. and on top of everythingnormaldoes, it also skips conditional requirements (e.g.requirestatements inside subroutines); skipsdo FILEstatements; and lists only essential dependencies. minimal. clean. π§
-v,--verboseβ increase verbosity. more words, more info. π£οΈ
π AUTHOR π
Written by Alexey Tourbin <at@altlinux.org>, based on an earlier version by Ken Estes <kestes@staff.mail.com>, with contributions from Mikhail Zabaluev <mhz@altlinux.org>. legends, honestly. π«Ά
π HISTORY π
the initial version of perl.req (part of RPM 3.0) was done by Ken Estes in 1999. regular expressions were used to extract dependencies. (later it became 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 the 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/>. the glow-up was real. β¨
π 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.
fr fr, it's free software β go wild with it, just follow the license, bestie. π
π SEE ALSO π
B::PerlReq, perl.prov
and that's the whole page, bestie!! π this manual page is perl v5.42.0, dated 2025-07-25, and it answers to PERL.REQ(1). slay. π
β¨
π¦ where this page comes from
- fedora 43: perl-rpm-build-perl-scripts 0.82-50.fc43 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms