http://www.perlmonks.org?node_id=1079562


in reply to Re^5: "warn" is your best friend
in thread "warn" is your best friend

When you do use Test::More in a test script, what you're doing is importing all Test::More's functions (including diag) into the main package, so it can be accessed as main::diag instead of Test::More::diag.

The first paragraph of perlmod tells us that ::foo is a shorthand for main::foo.

Thus ::diag works everywhere in your modules, provided something has happened to import Test::More into main (most likely: you are running your module through its test suite).

use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name