#!/afs/athena/contrib/perl5/perl
# -*- cperl -*-
# a hesinfo implementation in Perl, via Net::DNS

use strict;
use warnings;

use Net::DNS;

sub hesinfo ($$;$) {
  my ($name, $type, $resolver) = @_;
  $resolver = new Net::DNS::Resolver unless $resolver;
  my $bind_name = "$name.$type.ns.athena.mit.edu";

  my $answer = $resolver->query($bind_name, "TXT");
  if ($answer) {
    return map { my $ans = $_->rdatastr;  $ans =~ s/^"(.*)"$/$1/s;  $ans }
      $answer->answer;
  } else {
    die($resolver->errorstring . "\n");
  }
}


@ARGV == 2 or die "usage: $0 name type\n";

eval {
  my @answers = hesinfo $ARGV[0], $ARGV[1];
  print "$_\n" foreach @answers;
  1;
} or chomp($@), warn "resolve error: $@\n";
