Documentation has just been adapted.
In Net::DNS::Header:
ancount, prcount
print "# of answer records: ", $packet->header->ancount, "\n";
Returns the number of records in the answer section of the packet
which
may, in the case of corrupt packets, differ from the actual number of
records. In dynamic update packets, this field is known as "prcount"
and refers to the number of RRs in the prerequisite section.
nscount, upcount
print "# of authority records: ", $packet->header->nscount, "\n";
Returns the number of records in the authority section of the packet
which may, in the case of corrupt packets, differ from the actual
number of records. In dynamic update packets, this field is known as
"upcount" and refers to the number of RRs in the update section.
arcount, adcount
print "# of additional records: ", $packet->header->arcount,
"\n";
Returns the number of records in the additional section of the packet
which may, in the case of corrupt packets, differ from the actual
number of records. In dynamic update packets, this field is known as
"adcount".
And in Net::DNS::Packet as the last paragraph on the new method:
Note that the number of RRs in each section of the packet may differ
from the corresponding header value if the data has been truncated or
corrupted.