#!/usr/bin/perl
use strict;
use Net::NBName;
my $nb = Net::NBName->new;
my $param = shift;
my $host = shift;
if ($param =~ /^([\w-]+)\#(\w{1,2})$/) {
my $name = $1;
my $suffix = hex $2;
my $nq;
if (defined($host) && $host =~ /\d+\.\d+\.\d+\.\d+/) {
printf "querying %s for %s<%02X>...\n", $host, $name, $suffix;
$nq = $nb->name_query($host, $name, $suffix);
} else {
printf "broadcasting for %s<%02X>...\n", $name, $suffix;
$nq = $nb->name_query(undef, $name, $suffix);
}
if ($nq) {
print $nq->as_string;
}
} else {
die "expected: <name>#<suffix> [<host>]\n";
}