in reply to Re^2: writing a utility to determine whether I have a working wifi connection
in thread writing a utility to determine whether I have a working wifi connection

"Can you say a few more words about how to create this namespace?"

I believe that Discipulus was using that namespace as an example, but either way, here's how.

Using Module::Starter. I've left in all of the commands so you can see what's happening:

spek@scelia ~/scratch $ module-starter --module=X::Y::ConnectInfo::Win +32 --author="Your Name" --email=your@email.com --license=perl Added to MANIFEST: Changes Added to MANIFEST: ignore.txt Added to MANIFEST: lib/X/Y/ConnectInfo/Win32.pm Added to MANIFEST: Makefile.PL Added to MANIFEST: MANIFEST Added to MANIFEST: README Added to MANIFEST: t/00-load.t Added to MANIFEST: t/manifest.t Added to MANIFEST: t/pod-coverage.t Added to MANIFEST: t/pod.t Added to MANIFEST: xt/boilerplate.t Created starter directories and files spek@scelia ~/scratch $ cd X-Y-ConnectInfo-Win32/ spek@scelia ~/scratch/X-Y-ConnectInfo-Win32 $ ll lib/X/Y/ConnectInfo/ total 20 drwxr-xr-x 2 spek spek 4096 Aug 9 13:57 ./ drwxr-xr-x 3 spek spek 4096 Aug 9 13:57 ../ -rw-r--r-- 1 spek spek 1989 Aug 9 13:57 Win32.pm

By hand is the same. Create any directory to hold the distribution which is your top(root)-level directory (I typically name mine lower-case with dashes, eg: top-container-thing), which contains all of your distribution information and directory hierarchy. To have X::Y::ConnectInfo::Win32, we'd then create a lib directory (after going into your top-level dir), then an X directory in that, a Y directory within X, another directory... you get the picture. The magic happens at the Win32.pm file. That's what gets registered in @INC. That's how a module is brought to life.

All that also means, that if you create, then drop a Ubuntu.pm file within the lib/X/Y/ConnectInfo directory, it'll be registered by the system as X::Y::ConnectInfo::Ubuntu module, ready for use. It'll be seen the same on the CPAN.

One last note... when we say "module", we mean the actual code rendered out of the .pm file. We refer to the entire package of all the stuff shown above as the module's "distribution". We install distributions from the CPAN, and a distribution can include one, or several modules.