Now What? So now we have a cache object... What can we do with it? Well the first thing to mention is what not to do with it: don't attempt recursive inspection of the object with something like Data::Dumper or the debugger's x command. The deeply recursive nature of the underlying object will cause such inspection to run for ever (or OOM, whichever comes first). The cache appears as a hashref, with entries for every package mentioned in the Packages files as AptPkg::Cache::Package objects. These objects also appear as hashrefs of the package attributes and so on. Here are some examples: $cache->{perl}{CurrentVer}{VerStr} $cache->{perl}{VersionList}[0]{VerStr} Those values being strings representing the currently installed version of perl, and the newest available version. Of course a diagram might make this all a bit clearer...