Dist::Z...NoIndex(3)

✨ NAME ✨

Dist::Zilla::Plugin::MetaNoIndex β€” aka the thing that stops CPAN from indexing your stuff πŸ’…

(Yes bestie, this is a User Contributed Perl Documentation page, and you're in the right place. It's giving "my distribution, my rules" energy fr fr.)

🌸 VERSION 🌸

version 6.040

πŸŽ€ SYNOPSIS πŸŽ€

Drop this in your dist.ini and you're cooking:

[MetaNoIndex]

directory = t/author
directory = examples

file = lib/Foo.pm

package = My::Module

namespace = My::Module

πŸ’– DESCRIPTION πŸ’–

Okay so picture this: you've got test classes, example classes, little helper thingies that exist only to make your test suite and docs go brrr β€” and they are absolutely not part of what your distribution actually ships. πŸ™ˆ

This plugin is the bouncer at the club. 🫢 It lets you stop PAUSE/CPAN from indexing files you don't want indexed. Perfect for exactly that situation: test classes and example classes that are used for those purposes only and aren't part of the distribution.

And how does it pull this off? Iconic behaviour honestly: it adds a no_index block to your META.json (or META.yml) file in your distribution. That's it. That's the whole move. ✨

πŸ”₯ PERL VERSION πŸ”₯

This module should work on any version of perl still receiving updates from the Perl 5 Porters. Which means it should work on any version of perl released in the last two to three years. (Translation: if the most recently released version is v5.40, then this module should work on both v5.40 and v5.38.) πŸ’œ

Ngl bestie, lowkey works on older perls too, but no guarantee is made that the minimum required version won't be increased. The version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl. That's the deal. 😭

πŸ‘‘ ATTRIBUTES πŸ‘‘

🌈 directories

Exclude folders and everything in them, for example: author.t

Aliases: folder, dir, directory

πŸ¦‹ files

Exclude a specific file, for example: lib/Foo.pm

Alias: file

πŸ“ packages

Exclude by package name, for example: My::Package

Aliases: class, module, package

🧚 namespaces

Exclude everything under a specific namespace, for example: My::Package

Alias: namespace

NOTE: This will not exclude the package My::Package, only everything under it like My::Package::Foo. Read it twice bestie, it's the sneaky one. ⭐

πŸ’€ METHODS πŸ’€

✨ metadata

Returns a reference to a hash containing the distribution's no_index metadata. That's the whole vibe. πŸ’…

🌟 SEE ALSO 🌟

Dist::Zilla roles: MetaProvider.

πŸ’œ AUTHOR πŸ’œ

Ricardo SIGNES 😏 <cpan@semiotic.systems>

This software is copyright (c) 2026 by Ricardo SIGNES.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


And that's a wrap, bestie!! 🫢 This was perl v5.42.3, dated 2026-10-19, and you just read the Dist::Z...NoIndex(3) page top to bottom. Go forth and no_index responsibly. Periodt. πŸ’–βœ¨

πŸ“¦ where this page comes from