On a Debian system that's not totally screwed up, parsing the output of dpkg -i is much easier than looking into /var/lib/dpkg/. There are environment variables which change the output format a bit, which you can exploit for your purposes. The man page knows more about that.
Or is there some other wrapper to a higher level API for this task?

I recommend looking at CPAN for that sort of question

Also, if anyone knows, is there some way to hook up my Perl script to be executed after whenever the package list changes?

There are hooks or triggers that are executed when packages are installed and removed (I think man-db uses that for its purposes). I'm not sure about the details, but looking into man-db or into the dpkg documentation should help.

If packages are installed via aptitude, you can also parse its log files.


In reply to Re: Walking Linux packages by moritz
in thread Walking Linux packages by tomazos

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.