.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .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. \*(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- .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" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" 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 "DPKG::Parse 3pm" .TH DPKG::Parse 3pm "2017-08-09" "perl v5.26.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" DPKG::Parse \- Parse various dpkg files into Perl Objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 5 \& use DPKG::Parse::Status; \& my $status = DPKG::Parse::Status\->new; \& while (my $entry = $status\->next_package) { \& print $entry\->package . " " . $entry\->version . "\en"; \& } \& \& use DPKG::Parse::Available; \& my $available = DPKG::Parse::Available\->new; \& while (my $entry = $available\->next_package) { \& print $entry\->package . " " . $entry\->version . "\en"; \& } .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" DPKG::Parse contains utilities to parse the various files created by dpkg and turn them into helpful Perl objects. Current files understood by various DPKG::Parse modules: .PP .Vb 3 \& /var/lib/dpkg/status \- DPKG::Parse::Status \& /var/lib/dpkg/available \- DPKG::Parse::Available \& Packages.gz \- DPKG::Parse::Packages .Ve .PP See each module's documentation for particulars \- You should not be calling DPKG::Parse directly. .SH "METHODS" .IX Header "METHODS" .IP "filename($filename)" 4 .IX Item "filename($filename)" A simple accessor for the file currently being parsed. .IP "entryarray" 4 .IX Item "entryarray" Access to the raw array of entries in a given file. .IP "entryhash" 4 .IX Item "entryhash" Access to the raw hash of entries. The key is determined by the module, but is usually the Package name. .IP "new('filename' => '/var/lib/dpkg/status');" 4 .IX Item "new('filename' => '/var/lib/dpkg/status');" A generic new function; takes a filename and calls the \fIfilename()\fR accessor with it. Should not be called directly, but through on of the children of this package. .IP "parse" 4 .IX Item "parse" A default parse function; simply calls parse_package_format. .IP "parse_package_format" 4 .IX Item "parse_package_format" Takes a file in a format similar to the dpkg \*(L"available\*(R" file, and creates DPKG::Parse::Entry objects from each entry. .IP "get_package('name' => 'postfix', 'hash' => 'entryhash');" 4 .IX Item "get_package('name' => 'postfix', 'hash' => 'entryhash');" The value of a hash, if it exists. By default, it uses the value returned by the \*(L"entryhash\*(R" accessor, but that can be overridden with the \*(L"hash\*(R" parameter. Usually returns a DPKG::Parse::Entry object. .IP "next_package" 4 .IX Item "next_package" Shifts the next value off the array stored in the \fIentryarray()\fR accessor. If you want to access the raw values, do not use this function! It shifts! .SH "SEE ALSO" .IX Header "SEE ALSO" DPKG::Parse::Status, DPKG::Parse::Available, DPKG::Parse::Packages, DPKG::Parse::Entry .SH "AUTHOR" .IX Header "AUTHOR" Adam Jacob, \f(CW\*(C`holoway@cpan.org\*(C'\fR .SH "LICENSE" .IX Header "LICENSE" This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.