Perl::Critic::Policy::Community::PreferredAlternatives - Various modules with preferred alternatives
Contents
Affiliation
This policy is part of Perl::Critic::Community.
Configuration
Occasionally you may find yourself needing to use one of these non-preferred modules, and do not want the
warnings. You can do so by putting something like the following in a .perlcriticrc file like this:
[Community::PreferredAlternatives]
allowed_modules = Getopt::Std JSON
The same option is offered for Perl::Critic::Policy::Community::DiscouragedModules.
Copyright And License
Copyright 2015, Dan Book.
This library is free software; you may redistribute it and/or modify it under the terms of the Artistic
License version 2.0.
Description
Various modules have alternatives that are preferred by some subsets of the community, for various
reasons which may include: buggy behavior, cruft, performance problems, maintainer issues, or simply
better modern replacements. This is a low severity complement to
Perl::Critic::Policy::Community::DiscouragedModules.
Modules
Getopt::Std
Getopt::Std was the original very simplistic command-line option processing module. It is now obsoleted
by the much more complete solution Getopt::Long, which also supports short options, and is wrapped by
modules such as Getopt::Long::Descriptive and Getopt::Long::Modern for simpler usage.
JSON
JSON.pm is old and full of slow logic. Use JSON::MaybeXS instead, it is a drop-in replacement in most
cases.
List::MoreUtils
List::MoreUtils is a far more complex distribution than it needs to be. Use List::SomeUtils instead, or
see List::Util or List::UtilsBy for alternatives.
Mouse
Mouse was created to be a faster version of Moose, a niche that has since been better filled by Moo. Use
Moo instead.
Readonly
Readonly.pm is buggy and slow. Use Const::Fast or ReadonlyX instead, or the core pragma constant.
Name
Perl::Critic::Policy::Community::PreferredAlternatives - Various modules with preferred alternatives
See Also
Perl::Critic
perl v5.40.1 2025-03-22 Perl::Critic::P...redAlternatives(3pm)
