You should only list (in Makefile.PL ) those modules that you need directly (i.e. those that you use or require in your modules). You do not need to worry about modules that are needed indirectly (i.e. the modules you are using); This is the task of the installer.
To get a list of the modules that you use, you can, of course, compile the list manually. But if you have The Definitive Guide to Catalyst, page 129 has a handy Bash feature that I'm not sure I can reproduce here. There is also Perl :: PrereqScanner :: App , which I did not use directly, but which is used by Dist :: Zilla.
FWIW, if you use Dist :: Zilla to manage your distribution (which I do even for private projects that I donβt upload to CPAN), it can (and does by default) track dependencies for you.
Edward
source share