- Date: Fri, 26 Apr 2019 13:44:44 +0100
- From: Joe <joe@xxxxxxxxxxxxxx>
- Subject: Re: Net::DNS::Nameserver
On Fri, 26 Apr 2019 13:09:46 +0100
mick crane <mick.crane@xxxxxxxxx> wrote:
> On 2019-04-26 12:48, tomas@xxxxxxxxxx wrote:
> > On Fri, Apr 26, 2019 at 12:19:09PM +0100, mick crane wrote:
> >> sorry to be a nuisance
> > You are not (not to me, at least :-)
> >> can somebody explain generally what this scheme of things with the
> >> dots has to do with ?
> >> seen this in perl as the kind of hierarchy of modules but how is
> >> this to do with the OS ?
> >> ~$ apropos nameserver
> >> Net::DNS::Nameserver (3pm) - DNS server class
> > You mean those double colons ('::')?
> > If yes: those are just separators for the Perl module namespace,
> > which conceptually is a hierarchy. At the (right) end you can put
> > some object (function, variable) living in that module's 
> > namespace.
> > Those are just a device to subdivide the namespace and to organize
> > file system "places"  -- they have no intrinsic "meaning" to perl
> > (i.e. the language itself has no notion of "Net" or "Net::DNS" --
> > just of "Net::DNS::Nameserver").
> > Cf "perldoc -f require" for the full thing :-)
> > Cheers
> >  In Perl parlance, it is a "package".
> >  Typically you'll find the package code in Net/DNS/Nameserver.pm
> > under a suitable "module root", e.g. /usr/share/perl5. The whole
> > list of roots is in the special array variable @INC.
> > -- tom??s
> thanks, I don't think I'll ever properly comprehend this stuff but I
> do like it when things work.
What you're probably more interested in is getting modules as Debian
packages where possible. Where they exist, they are normally called
something like libnet-dns-nameserver-perl (not a real Debian package,
by the way), adding 'lib' at the beginning, '-perl' at the end and
replacing the doubled colons with hyphens, all lower case. If that isn't
exactly right, a search should find what you want.
But there's a *lot* of perl... and only a subset is packaged in Debian.