.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Devel::Modlist 3" .TH Devel::Modlist 3 "2008-01-07" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" Devel::Modlist \- Perl extension to collect module use information .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& perl -d:Modlist script.pl .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBDevel::Modlist\fR utility is provided as a means by which to get a quick run-down on which libraries and modules are being utilized by a given script. .PP Just as compiler systems like \fIgcc\fR provide dependancy information via switches such as \f(CW\*(C`\-M\*(C'\fR, \fBDevel::Modlist\fR is intended to assist script authors in preparing dependancy information for potential users of their scripts. .SH "USAGE" .IX Header "USAGE" Usage of \fBDevel::Modlist\fR is simple. The primary method of invocation is to use the \f(CW\*(C`\-d\*(C'\fR option of Perl: .PP .Vb 1 \& perl -d:Modlist script.pl .Ve .PP Alternately, one could use the \f(CW\*(C`\-M\*(C'\fR option: .PP .Vb 1 \& perl -MDevel::Modlist script.pl .Ve .PP In the case of this module, the two are identical save for the amount of typing (and option passing, see below). It is \fInot\fR recommended that this module be loaded directly by a script via the \fBuse\fR keyword, as that would cause the dependancy reporting after \fIevery\fR invocation until it was removed from the code. .SH "OPTIONS" .IX Header "OPTIONS" The following options may be specified to the package. These are specified either by: .PP .Vb 1 \& perl -MDevel::Modlist=option1[,option2,...] .Ve .PP or .PP .Vb 1 \& perl -d:Modlist=option1[,option2,...] .Ve .PP Options may also be given in an environment variable, which gets read at any invocation in which there are \fBno\fR options explicitly provided. If any options are given in the invocation, then the environment variable is ignored. Two different names are recognized: .PP .Vb 2 \& Devel::Modlist \& Devel__Modlist .Ve .PP The latter is to accomodate shells that do not like the presence of \f(CW\*(C`::\*(C'\fR in an environment variable name. .PP The options: .IP "cpan" 4 .IX Item "cpan" Reduce the resulting list of modules by using the data maintained in the local \&\fI\s-1CPAN\s0\fR configuration area. The \fB\s-1CPAN\s0\fR module (see \s-1CPAN\s0) maintains a very thorough representation of the contents of the archive, on a per-module basis. Using this option means that if there are two or more modules that are parts of the same distribution, only one will be reported (the one with the shortest name). This is useful for generating a minimalist dependancy set that can in turn be fed to the \fB\s-1CPAN\s0\fR \f(CW\*(C`install\*(C'\fR command to ensure that all needed modules are in fact present. .IP "cpandist" 4 .IX Item "cpandist" This is identical to the option above, with the exception that it causes the reported output to be the \fB\s-1CPAN\s0\fR filename rather than the module name in the standard Perl syntax. This can also be fed to the \fB\s-1CPAN\s0\fR shell, but it can also be used by other front-ends as a path component in fetching the requisite file from an archive site. Since the name contains the version number, this behaves as though \fInoversion\fR (see below) was also set. If both \fIcpan\fR and \fIcpandist\fR are set, this option (\fIcpandist\fR) takes precedence. If \fIpath\fR is also specified, this option again takes precedence. .IP "nocore" 4 .IX Item "nocore" Suppress the display of those modules that are a part of the Perl core. This is dependant on the Perl private library area not being an exact substring of the site-dependant library. The build process checks this for you prior to install. .IP "noversion" 4 .IX Item "noversion" Suppress the inclusion of version information with the module names. If a module has defined its version by means of the accepted standard of declaring a variable \f(CW$VERSION\fR in the package namespace, \fBDevel::Modlist\fR finds this and includes it in the report by default. Use this option to override that default. .IP "path" 4 .IX Item "path" Display the path and filename of each module instead of the module name. Useful for producing lists for later input to tools such as \fBrpm\fR. .IP "stop" 4 .IX Item "stop" Exit before the first actual program line is executed. This provides for fetching the dependancy list without actually running the full program. This has a drawback: if the program uses any of \fBrequire\fR, \fBeval\fR or other such mechanisms to load libraries after the compilation phase, these will not be reported. .SH "CAVEATS" .IX Header "CAVEATS" Perl versions up to 5.6.0 cannot accept options to the \f(CW\*(C`\-d:\*(C'\fR flag as with the \f(CW\*(C`\-M\*(C'\fR flag. Thus, to pass options one must use: .PP .Vb 1 \& perl -MDevel::Modlist=option1[,option2,...] .Ve .PP Unfortunately, this inhibits the \fBstop\fR option detailed earlier. To use this option, an invocation of: .PP .Vb 1 \& perl -d:Modlist -MDevel::Modlist=option1[,option2,...] .Ve .PP does the trick, as the first invocation puts the interpreter in debugging mode (necessary for \fBstop\fR to work) while the second causes the options to be parsed and recorded by \fBDevel::Modlist\fR. .PP Versions of Perl from 5.6.1 onwards allow options to be included with the \&\f(CW\*(C`\-d:Modlist\*(C'\fR flag. .PP Because \fBDevel::Modlist\fR uses the \f(CW\*(C`strict\*(C'\fR pragma internally (as all modules should), that pragma is always removed from the output to avoid generating a false\-positive. .SH "AUTHOR" .IX Header "AUTHOR" Randy J. Ray , using idea and prototype code provided by Tim Bunce .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIperl\fR\|(1).