my ($dns, $err) = Net::DNS::Packet->new(\$udp->{data});
...
for my $section qw(answer authority additional) {
my @rr;
while (my $i = $dns->pop($section)) {
if ($i->class eq "IN" &&
$i->type eq "A" &&
$i->name eq "slashdot.org")
{
$i->{address} = "127.0.0.1";
}
push @rr, $i;
}
while (my $i = pop @rr) {
$dns->push($section, $i);
}
}
|