Acme-CPANModulesBundle-PERLANCAR

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/PERLANCAR/Avoided.pm  view on Meta::CPAN

        },
        {
            module => 'JSON::XS',
            summary => '',
            description => <<'_',

<pm:Cpanel::JSON::XS> is the fork of <pm:JSON::XS> that fixes some bugs and adds
some features, mainly so it's more compatible with <pm:JSON::PP>. See the
documentation of <pm:Cpanel::JSON::XS> for more details on those.

_
            alternate_modules => ['Cpanel::JSON::XS'],
        },
        {
            module => 'Module::Path',
            summary => '',
            description => <<'_',

It's a nice little concept and module, and often useful. But the decision like
defaulting to doing abs_path()
(https://rt.cpan.org/Public/Bug/Display.html?id=100979), which complicates the
module, makes its behavior different than Perl's require(), as well as opens the
can of worms of ugly filesytem details, has prompted me to release an
alternative. Module::Path::More also has the options to find .pod and/or .pmc
file, and find all matches instead of the first.

_
            alternate_modules => ['Module::Path::More'],
        },
        {
            module => 'String::Truncate',
            description => <<'_',

Has non-core dependencies to <pm:Sub::Exporter> and <pm:Sub::Install>.

_
            alternate_modules => ['String::Elide::Tiny'],
        },

        {
            module => 'Module::AutoLoad',
            description => <<'_',

Contains remote exploit. Ref:
<https://news.perlfoundation.org/post/malicious-code-found-in-cpan-package> (Jul
28, 2020).

_
            alternate_modules => ['lib::xi', 'CPAN::AutoINC', 'Module::AutoINC'],
        },
    ],
};

1;
# ABSTRACT: List of modules I'm currently avoiding

__END__

=pod

=encoding UTF-8

=head1 NAME

Acme::CPANModules::PERLANCAR::Avoided - List of modules I'm currently avoiding

=head1 VERSION

This document describes version 0.014 of Acme::CPANModules::PERLANCAR::Avoided (from Perl distribution Acme-CPANModulesBundle-PERLANCAR), released on 2023-11-01.

=head1 DESCRIPTION

This is a list of modules I'm currently avoiding to use in my code, for some
reason. Most of the modules wered used in my code in the past.

Using a L<Dist::Zilla> plugin
L<Dist::Zilla::Plugin::Acme::CPANModules::Blacklist>, you can make sure that
during building, your distribution does not specify a prerequisite to any of the
modules listed here. (You should make your own blacklist though).

=head1 ACME::CPANMODULES ENTRIES

=over

=item L<Log::Any>

Startup overhead.

Author: L<PREACTION|https://metacpan.org/author/PREACTION>

After the 1.x version, I no longer prefer L<Log::Any> and have developed an
alternative called L<Log::ger>.


Alternate modules: L<Log::ger>

=item L<List::MoreUtils>

License confusion.

Author: L<REHSACK|https://metacpan.org/author/REHSACK>

For more information, see
L<https://www.reddit.com/r/perl/comments/6ymdez/what_are_the_background_details_pertaining_to_the/>.

Recent versions of L<List::Util> have implemented many functions from
L<List::MoreUtils>.


Alternate modules: L<List::Util>, L<List::SomeUtils>, L<List::AllUtils>

=item L<Log::Any::IfLOG>

Retired workaround.

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

Alternate modules: L<Log::ger>

=item L<File::Flock>



( run in 0.529 second using v1.01-cache-2.11-cpan-7fcb06a456a )