this-dist - Return name of Perl distribution associated with the current directory
This document describes version 0.023 of this-dist (from Perl distribution App-ThisDist), released on 2024-01-06.
% pwd /home/budi/perl-Foo-Bar % this-dist Foo-Bar # See how distribution is guessed % DEBUG=1 this-dist this-dist: Guessed dist=App-PPIUtils from dist.ini Foo-Bar # Will exit with code 1 and print error message to stderr when dist cannot be guessed % cd / % this-dist this-dist: No perl distribution name can be associated with current directory '/' # Don't show error message when guessing is failed (just exit with code 1) % this-dist -q % _ # Also try to extract version % this-dist -V Foo-Bar 1.23
Some other examples:
# Show MetaCPAN distribution page in browser (but see this-dist-on-metacpan script) % firefox metacpan.org/release/`this-dist`
This script tries these methods when guessing Perl distribution name associated with current directory:
Distribution metadata {MYMETA,META}.{json,yml}
Makefile.PL, Makefile, Build.PL
Name in dist.ini (Dist::Zilla configuration file), if the file is available
If it cannot find an associated Perl distribution name, it will print an error message to stderr (unless being told to be quiet via --quiet) and exit with non-zero status.
--quiet
Bool. If set to true, will print debugging statement to stderr.
Please visit the project's homepage at https://metacpan.org/release/App-ThisDist.
Source repository is at https://github.com/perlancar/perl-App-ThisDist.
dir2dist
this-mod
this-dist-on-metacpan
Some scripts like pmman and pmpath (from App::PMUtils) or list-dist-contents and dist-has-deb (from App::DistUtils) already default to "current module" or "current distribution" so instead of saying:
% dist-has-deb `this-dist`
you can just say:
% dist-has-deb
perlancar <perlancar@cpan.org>
To contribute, you can send patches by email/via RT, or send pull requests on GitHub.
Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via:
% prove -l
If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me.
This software is copyright (c) 2024, 2023, 2022, 2021, 2020 by perlancar <perlancar@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=App-ThisDist
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
To install App::ThisDist, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::ThisDist
CPAN shell
perl -MCPAN -e shell install App::ThisDist
For more information on module installation, please visit the detailed CPAN module installation guide.