in reply to Re^2: restricting values to a nested datastructure
in thread restricting values to a nested datastructure

Perl's no keyword autoloads the module for you.

use Foo is an abbreviation for:

BEGIN { require Foo; } Foo->import;

The counterpart no Foo is an abbreviation for:

BEGIN { require Foo; } Foo->unimport;

Because import and unimport are just regular old subs, this means that modules can do their interesting stuff with no instead of use. It's a cute trick, though can confuse people.