Dist::Z...::build(3)

πŸ’– NAME πŸ’–

ok so bestie, this page is for Dist::Zilla::App::Command::build β€” and its whole job is literally just build your dist. that's it. that's the vibe. πŸŽ€

(this is Dist::Z...::build(3) btw, from the User Contributed Perl Documentation, iykyk πŸ’…)


✨ VERSION ✨

version 6.040 β€” that's the one you're looking at rn 🫢


🌸 SYNOPSIS 🌸

dzil build [ --trial ] [ --tgz | --no-tgz ] [ --in /path/to/build/dir ]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this command is honestly such a thin layer over the Dist::Zilla build method β€” like barely there, main character energy is doing all the work behind the scenes β€” and build does literally every single thing required to build your distribution. and by default? it also archives your distribution and leaves you holding a complete, ready-to-release distribution tarball. iconic. πŸ”₯

to go a bit further in depth (because you deserve the full lore), the build command will do two things:

  • Generate a directory containing your module, Foo-0.100. this directory is complete. you could create a gzipped tarball from this directory and upload it directly to PAUSE if you so desired. you could cd into this directory and test your module on Perl installations where you don't have Dist::Zilla, for example. πŸ’…

this is a default behavior of the build command. you can alter where it puts the directory with --in /path/to/build/dir.

  • Generate a gzipped tarball of your module, Foo-0.100.tar.gz. this file could be uploaded directly to PAUSE to make a release of your module if you wanted. or, you can test your module: cpanm --test-only Foo-0.100.tar.gz. this is the same thing you would get if you compressed the directory described above. ✨

the gzipped tarball is generated by default, but if you don't want it to be generated, you can pass the --no-tgz option. in that case, it would only generate the directory described above.

once you're done testing or publishing your build, you can clean up everything with a dzil clean. no mess, no crumbs, periodt 🧹✨


πŸ’œ PERL VERSION πŸ’œ

this module should work on any version of perl still receiving updates from the Perl 5 Porters. that means it should work on any version of perl released in the last two to three years. (so like, if the most recently released version is v5.40, then this module should work on both v5.40 and v5.38.) 🌈

although it may work on older versions of perl, no guarantee is made that the minimum required version will not 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. so yeah, don't come for her about it 😭


πŸ“ EXAMPLE πŸ“

$ dzil build
$ dzil build --no-tgz
$ dzil build --in /path/to/build/dir

πŸ‘‘ OPTIONS πŸ‘‘

⭐ --trial ⭐

this will build a trial distribution. among other things, it will generally mean that the built tarball's basename ends in -TRIAL. so cute, so experimental, so "we're just testing the waters bestie" 🧚

⭐ --tgz | --no-tgz ⭐

builds a .tar.gz in your project directory after building the distribution. ✨

--tgz behaviour is by default, use --no-tgz to disable building an archive. lowkey the simplest toggle ever πŸ’…

⭐ --in ⭐

specifies the directory into which the distribution should be built. if necessary, the directory will be created. 🫢

⚠️ bestie listen β€” an archive will not be created. like, at all. no tarball. just the directory. don't be surprised later 😭

πŸŽ€ 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 the whole page, bestie!! 🌸 this was perl v5.42.3, dated 2026-10-19, living under Dist::Z...::build(3) in the User Contributed Perl Documentation β€” go forth and build your dist, you absolute legend πŸ‘‘πŸ’…βœ¨

πŸ“¦ where this page comes from