sourCEntral - mobile manpages




Net::DNS::Question − DNS question class


"use Net::DNS::Question"


A "Net::DNS::Question" object represents a record in the question section of a DNS packet.



    $question = Net::DNS::Question−>new("", "MX", "IN");

Creates a question object from the domain, type, and class passed as arguments.

RFC4291 and RFC4632 IP address/prefix notation is supported for queries in in− and subdomains.


    ($question, $offset) = Net::DNS::Question−>parse(\$data, $offset);

Parses a question section record at the specified location within a DNS packet. The first argument is a reference to the packet data. The second argument is the offset within the packet where the question record begins.

Returns a Net::DNS::Question object and the offset of the next location in the packet.

Parsing is aborted if the question object cannot be created (e.g., corrupt or insufficient data).

qname, zname

    print "qname = ", $question−>qname, "\n";
    print "zname = ", $question−>zname, "\n";

Returns the domain name. In dynamic update packets, this field is known as "zname" and refers to the zone name.

qtype, ztype

    print "qtype = ", $question−>qtype, "\n";
    print "ztype = ", $question−>ztype, "\n";

Returns the record type. In dymamic update packets, this field is known as "ztype" and refers to the zone type (must be SOA ).

qclass, zclass

    print "qclass = ", $question−>qclass, "\n";
    print "zclass = ", $question−>zclass, "\n";

Returns the record class. In dynamic update packets, this field is known as "zclass" and refers to the zone’s class.



Prints the question record on the standard output.


    print $qr−>string, "\n";

Returns a string representation of the question record.


    $qdata = $question−>data($packet, $offset);

Returns the question record in binary format suitable for inclusion in a DNS packet.

Arguments are a "Net::DNS::Packet" object and the offset within that packet’s data where the "Net::DNS::Question" record is to be stored. This information is necessary for using compressed domain names.


Copyright (c) 1997−2002 Michael Fuhr.

Portions Copyright (c) 2002−2004 Chris Reinhardt.

Portions Copyright (c) 2003,2006−2009 Dick Franks.

All rights reserved.

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.


perl(1), Net::DNS, Net::DNS::Resolver, Net::DNS::Packet, Net::DNS::Update, Net::DNS::Header, Net::DNS::RR, RFC 1035 Section 4.1.2