NAME¶
Dpkg::Changelog::Parse - generic changelog parser for dpkg-parsechangelog
DESCRIPTION¶
This module provides a single function
changelog_parse() which reproduces
all the features of dpkg-parsechangelog.
FUNCTIONS¶
- my $fields = changelog_parse(%opt)
- This function will parse a changelog. In list context, it return as many
Dpkg::Control object as the parser did output. In scalar context, it will
return only the first one. If the parser didn't return any data, it will
return an empty in list context or undef on scalar context. If the parser
failed, it will die.
The parsing itself is done by an external program (searched in the following
list of directories: $opt{libdir},
/usr/local/lib/dpkg/parsechangelog,
/usr/lib/dpkg/parsechangelog) That program is named according to
the format that it's able to parse. By default it's either
"debian" or the format name lookep up in the 40 last lines of
the changelog itself (extracted with this perl regular expression
"\schangelog-format:\s+([0-9a-z]+)\W"). But it can be overridden
with $opt{changelogformat}. The program expects the content of the
changelog file on its standard input.
The changelog file that is parsed is debian/changelog by default but
it can be overridden with $opt{file}.
All the other keys in %opt are forwarded as parameter to the external
parser. If the key starts with "-", it's passed as is. If not,
it's passed as "--<key>". If the value of the
corresponding hash entry is defined, then it's passed as the parameter
that follows.
CHANGES¶
Version 1.00¶
Mark the module as public.