Result:
found more than 436 distributions - search limited to the first 2001 files matching your query ( run in 0.392 )


Acme-CPANModules-DiffingStructuredData

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/DiffingStructuredData.pm  view on Meta::CPAN

<pm:Value::Diff>

_

our $LIST = {
    summary => 'List of modules to diff structured data',
    description => $text,
    tags => ['task'],
};

Acme::CPANModulesUtil::Misc::populate_entries_from_module_links_in_description;

1;
# ABSTRACT: List of modules to diff structured data

__END__

=pod

=encoding UTF-8

=head1 NAME

Acme::CPANModules::DiffingStructuredData - List of modules to diff structured data

=head1 VERSION

This document describes version 0.002 of Acme::CPANModules::DiffingStructuredData (from Perl distribution Acme-CPANModules-DiffingStructuredData), released on 2022-12-09.

 view all matches for this distribution


Acme-CPANModules-DiffingStuffs

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/DiffingStuffs.pm  view on Meta::CPAN

release tarballs.


**Database schema**

<pm:DBIx::Diff::Schema> compares two databases and reports tables/columns which
are added/deleted/modified. L<App::DiffDBSchemaUtils> provides CLI's for it like
<prog:diff-db-schema>, <prog:diff-mysql-schema>, <prog:diff-sqlite-schema>,
<prog:diff-pg-schema>.


lib/Acme/CPANModules/DiffingStuffs.pm  view on Meta::CPAN

<prog:diff-xls-text> (from <pm:App::DiffXlsText>) diffs two XLS/XLSX/ODS
workbooks by converting each worksheet in each workbook as files in the
workbook's directory and then diff-ing the two workbook directories.


**Structured data**

See separated list: <pm:Acme::CPANModules::DiffingStructuredData>.


**Word processor documents**

lib/Acme/CPANModules/DiffingStuffs.pm  view on Meta::CPAN

L<diff-cpan-releasess> (from L<App::DiffCPANReleases>) diffs two CPAN
release tarballs.

B<Database schema>

L<DBIx::Diff::Schema> compares two databases and reports tables/columns which
are added/deleted/modified. L<App::DiffDBSchemaUtils> provides CLI's for it like
L<diff-db-schema>, L<diff-mysql-schema>, L<diff-sqlite-schema>,
L<diff-pg-schema>.

B<PDF files>

lib/Acme/CPANModules/DiffingStuffs.pm  view on Meta::CPAN


L<diff-xls-text> (from L<App::DiffXlsText>) diffs two XLS/XLSX/ODS
workbooks by converting each worksheet in each workbook as files in the
workbook's directory and then diff-ing the two workbook directories.

B<Structured data>

See separated list: L<Acme::CPANModules::DiffingStructuredData>.

B<Word processor documents>

lib/Acme/CPANModules/DiffingStuffs.pm  view on Meta::CPAN


=item * L<App::DiffCPANReleases> - Diff contents of two CPAN releases

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

=item * L<DBIx::Diff::Schema> - Compare schema of two DBI databases

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

=item * L<App::DiffDocText> - Diff the text of two Office word-processor documents (.doc, .docx, .odt, etc)

 view all matches for this distribution


Acme-CPANModules-DumpingDataForDebugging

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN

our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-DumpingDataForDebugging'; # DIST
our $VERSION = '0.002'; # VERSION

our $LIST = {
    summary => 'List of modules and tips when dumping data structures for debugging',
    description => <<'_',

This list catalogs some of the modules you can you to dump your data structures
for debugging purposes, so the modules will be judged mostly by the
appropriateness of its output for human viewing (instead of other criteria like
speed, footprint, etc).

_

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN

            tags => ['perl'],
            description => <<'_',

Everybody knows this module and it's core so sometimes it's the only appropriate
choice. However, the default setting is not really optimized for viewing by
human. I suggest you tweak these before dumping your data:

* Set $Data::Dumper::Useqq to 1.

By default, <pm:Data::Dumper> quotes strings using single-quotes and does not
quote things like "\n" and "\b" making it difficult to spot special characters.

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN

        {
            module=>'Data::Dump',
            tags => ['perl'],
            description => <<'_',

A data dumper that produces nicer Perl code output, with features like vertical
alignment of "=>" when dumping hashes, compacting sequences like 1,2,3,4,5,6 to
1..6, compacting repeating characters in string like "ccccccccccccccccccccc" to
("c" x 21), and so on.

It tries harder to produce Perl code that generates the original data structure,
particularly with circular references. But with interlinked references like
trees, Data::Dumper might be more helpful in showing you which references get
mentioned where. For example this data:

    $tree = {children=>[{children=>[{}]}, {children=>[]}]};
    $tree->{children}[0]{parent}=$tree;
    $tree->{children}[1]{parent}=$tree;
    $tree->{children}[0]{children}[0]{parent} = $tree->{children}[0];

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN

            tags => ['json'],
            description => <<'_',

JSON is a limited format; it cannot represent many things that Perl supports
e.g. globs, circular references, or even ASCII NUL. But if you are working only
with JSON-able data, this JSON dumping module adds color output.

_
        },

        {

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN

        },
    ],
};

1;
# ABSTRACT: List of modules and tips when dumping data structures for debugging

__END__

=pod

=encoding UTF-8

=head1 NAME

Acme::CPANModules::DumpingDataForDebugging - List of modules and tips when dumping data structures for debugging

=head1 VERSION

This document describes version 0.002 of Acme::CPANModules::DumpingDataForDebugging (from Perl distribution Acme-CPANModules-DumpingDataForDebugging), released on 2023-10-29.

=head1 DESCRIPTION

This list catalogs some of the modules you can you to dump your data structures
for debugging purposes, so the modules will be judged mostly by the
appropriateness of its output for human viewing (instead of other criteria like
speed, footprint, etc).

=head1 ACME::CPANMODULES ENTRIES

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN


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

Everybody knows this module and it's core so sometimes it's the only appropriate
choice. However, the default setting is not really optimized for viewing by
human. I suggest you tweak these before dumping your data:

=over

=item * Set $Data::Dumper::Useqq to 1.

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN


=item L<Data::Dump>

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

A data dumper that produces nicer Perl code output, with features like vertical
alignment of "=>" when dumping hashes, compacting sequences like 1,2,3,4,5,6 to
1..6, compacting repeating characters in string like "ccccccccccccccccccccc" to
("c" x 21), and so on.

It tries harder to produce Perl code that generates the original data structure,
particularly with circular references. But with interlinked references like
trees, Data::Dumper might be more helpful in showing you which references get
mentioned where. For example this data:

 $tree = {children=>[{children=>[{}]}, {children=>[]}]};
 $tree->{children}[0]{parent}=$tree;
 $tree->{children}[1]{parent}=$tree;
 $tree->{children}[0]{children}[0]{parent} = $tree->{children}[0];

lib/Acme/CPANModules/DumpingDataForDebugging.pm  view on Meta::CPAN


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

JSON is a limited format; it cannot represent many things that Perl supports
e.g. globs, circular references, or even ASCII NUL. But if you are working only
with JSON-able data, this JSON dumping module adds color output.


=item L<YAML::Tiny::Color>

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

 view all matches for this distribution


Acme-CPANModules-EscapingAndQuoting

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/EscapingAndQuoting.pm  view on Meta::CPAN

our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-EscapingAndQuoting'; # DIST
our $VERSION = '0.003'; # VERSION

our $LIST = {
    summary => 'List of modules that escape/quote data to make it safe',
    entries => [
        {
            module=>'HTML::Entities',
        },
        {

lib/Acme/CPANModules/EscapingAndQuoting.pm  view on Meta::CPAN

        },
    ],
};

1;
# ABSTRACT: List of modules that escape/quote data to make it safe

__END__

=pod

=encoding UTF-8

=head1 NAME

Acme::CPANModules::EscapingAndQuoting - List of modules that escape/quote data to make it safe

=head1 VERSION

This document describes version 0.003 of Acme::CPANModules::EscapingAndQuoting (from Perl distribution Acme-CPANModules-EscapingAndQuoting), released on 2023-10-29.

 view all matches for this distribution


Acme-CPANModules-FireDiamond

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-FooThis

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-Foozilla

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-FormattingDate

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-Frameworks

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Frameworks.pm  view on Meta::CPAN

        # cli
        {module=>'App::Cmd', tags=>['category:cli']},
        {module=>'Perinci::CmdLine', tags=>['category:cli']},
        {module=>'ScriptX', tags=>['category:cli','category:web']},

        # data modules
        {module=>'ArrayData', tags=>['category:data']},
        {module=>'HashData', tags=>['category:data']},
        {module=>'Games::Word::Phraselist', tags=>['category:data']},
        {module=>'Games::Word::Wordlist', tags=>['category:data']},
        {module=>'TableData', tags=>['category:data']},
        {module=>'WordList', tags=>['category:data']},

        # database
        {module=>'DBI', tags=>['category:database']},

        # data-dumping
        {module=>'Data::Printer', tags=>['category:data-dumping']},

        # date
        {module=>'DateTime', tags=>['category:date']},

        # distribution-authoring

 view all matches for this distribution


Acme-CPANModules-Getopt

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-GetoptModules

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000036",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

 view all matches for this distribution


Acme-CPANModules-GettingTempDir

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-GrepVariants

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000038",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000038",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000038",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-GroupingElementsOfArray

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-HTMLTable

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/HTMLTable.pm  view on Meta::CPAN

            module => 'Text::Table::Manifold',
            bench_code => sub {
                my ($table) = @_;
                my $t = Text::Table::Manifold->new(format => Text::Table::Manifold::format_html_table());
                $t->headers($table->[0]);
                $t->data([ @{$table}[1 .. $#{$table}] ]);
                join("\n", @{$t->render(padding => 1)}) . "\n";
            },
            features => {
            },
        },

    ], # entries

    bench_datasets => [
        {name=>'tiny (1x1)'          , argv => [_make_table( 1, 1)],},
        {name=>'small (3x5)'         , argv => [_make_table( 3, 5)],},
        {name=>'wide (30x5)'         , argv => [_make_table(30, 5)],},
        {name=>'long (3x300)'        , argv => [_make_table( 3, 300)],},
        {name=>'large (30x300)'      , argv => [_make_table(30, 300)],},

lib/Acme/CPANModules/HTMLTable.pm  view on Meta::CPAN


To run module startup overhead benchmark:

 % bencher --module-startup --cpanmodules-module HTMLTable

For more options (dump scenario, list/include/exclude/add participants, list/include/exclude/add datasets, etc), see L<bencher> or run C<bencher --help>.

=head1 ACME::CPANMODULES ENTRIES

=over

lib/Acme/CPANModules/HTMLTable.pm  view on Meta::CPAN

 % bencher --cpanmodules-module HTMLTable

Result formatted as table (split, part 1 of 5):

 #table1#
 {dataset=>"large (30x300)"}
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors | samples |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | Text::Table::Manifold         |      15.8 |     63.3  |                 0.00% |               636.27% | 4.9e-05 |      21 |
 | Text::Table::HTML             |      68   |     15    |               328.81% |                71.70% | 1.9e-05 |      21 |

lib/Acme/CPANModules/HTMLTable.pm  view on Meta::CPAN

   TTH:D: participant=Text::Table::HTML::DataTables

Result formatted as table (split, part 2 of 5):

 #table2#
 {dataset=>"long (3x300)"}
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors | samples |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | Text::Table::Manifold         |       129 |      7.73 |                 0.00% |               598.03% | 6.3e-06 |      21 |
 | Text::Table::HTML             |       620 |      1.6  |               378.42% |                45.90% | 1.8e-06 |      20 |

lib/Acme/CPANModules/HTMLTable.pm  view on Meta::CPAN

   TTH:D: participant=Text::Table::HTML::DataTables

Result formatted as table (split, part 3 of 5):

 #table3#
 {dataset=>"small (3x5)"}
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | participant                   | rate (/s) | time (μs) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors | samples |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | Text::Table::Manifold         |      4400 |     230   |                 0.00% |               559.84% | 3.2e-07 |      23 |
 | Text::Table::HTML::DataTables |     13000 |      74   |               205.38% |               116.07% | 1.3e-07 |      30 |

lib/Acme/CPANModules/HTMLTable.pm  view on Meta::CPAN

   TTH:D: participant=Text::Table::HTML::DataTables

Result formatted as table (split, part 4 of 5):

 #table4#
 {dataset=>"tiny (1x1)"}
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | participant                   | rate (/s) | time (μs) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors | samples |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | Text::Table::Manifold         |      9700 |    100    |                 0.00% |              1436.99% | 1.3e-07 |      20 |
 | Text::Table::HTML::DataTables |     18000 |     55    |                87.14% |               721.28% | 7.8e-08 |      22 |

lib/Acme/CPANModules/HTMLTable.pm  view on Meta::CPAN

   TTH:D: participant=Text::Table::HTML::DataTables

Result formatted as table (split, part 5 of 5):

 #table5#
 {dataset=>"wide (30x5)"}
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | participant                   | rate (/s) | time (μs) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors | samples |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | Text::Table::Manifold         |       830 |      1200 |                 0.00% |               434.10% | 1.7e-06 |      20 |
 | Text::Table::Any              |      3390 |       295 |               307.45% |                31.08% | 1.4e-07 |      20 |

lib/Acme/CPANModules/HTMLTable.pm  view on Meta::CPAN

   TT:H: mod_overhead_time=2.68 participant=Text::Table::HTML
   TT:M: mod_overhead_time=84.55 participant=Text::Table::Manifold
   TTH:D: mod_overhead_time=2.92 participant=Text::Table::HTML::DataTables
   perl -e1 (baseline): mod_overhead_time=0 participant=perl -e1 (baseline)

To display as an interactive HTML table on a browser, you can add option C<--format html+datatables>.

=head1 FAQ

=head2 What is an Acme::CPANModules::* module?

 view all matches for this distribution


Acme-CPANModules-HashData

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/HashData.pm  view on Meta::CPAN

our $DIST = 'Acme-CPANModules-HashData'; # DIST
our $VERSION = '0.001'; # VERSION

my $text = <<'MARKDOWN';

<pm:HashData> is a way to package any hash data as a Perl/CPAN module. It also
provides a standard interface to access the data, currently read-only.

**The data**

All Perl modules under `HashData::*` namespace are modules that contain hash
data. Examples include: `HashData::Sample::DeNiro`,
`HashData::CPAN::AuthorName::ByPAUSEID`.


**CLIs**

<prog:hashdata> (from <pm:App::hashdata>) is the official CLI for `HashData`.


**Sah schemas**

<pm:Sah::Schemas::HashData>

lib/Acme/CPANModules/HashData.pm  view on Meta::CPAN


This document describes version 0.001 of Acme::CPANModules::HashData (from Perl distribution Acme-CPANModules-HashData), released on 2024-01-22.

=head1 DESCRIPTION

L<HashData> is a way to package any hash data as a Perl/CPAN module. It also
provides a standard interface to access the data, currently read-only.

B<The data>

All Perl modules under C<HashData::*> namespace are modules that contain hash
data. Examples include: C<HashData::Sample::DeNiro>,
C<HashData::CPAN::AuthorName::ByPAUSEID>.

B<CLIs>

L<hashdata> (from L<App::hashdata>) is the official CLI for C<HashData>.

B<Sah schemas>

L<Sah::Schemas::HashData>

lib/Acme/CPANModules/HashData.pm  view on Meta::CPAN


=item L<HashData>

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

=item L<App::hashdata>

=item L<Sah::Schemas::HashData>

=item L<Tie::Hash::HashData>

 view all matches for this distribution


Acme-CPANModules-HashUtilities

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-HaveWebsite

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-HidingModules

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-Import-CPANRatings-User-davidgaramond

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Import/CPANRatings/User/davidgaramond.pm  view on Meta::CPAN

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-Import-CPANRatings-User-davidgaramond'; # DIST
our $VERSION = '0.002'; # VERSION

our $LIST = {description=>"This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.",entries=>[{description=>"\nOk, it's not 2004 anymore, I suggest we retire or start to deprecate this module? This module now requires Perl 5....

1;
# ABSTRACT: List of modules mentioned by CPANRatings user davidgaramond

__END__

lib/Acme/CPANModules/Import/CPANRatings/User/davidgaramond.pm  view on Meta::CPAN


=item L<Data::Rmap>

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

I was looking for a simple way to transform all DateTime objects in my data structure into string (e.g. &quot;2010-07-06&quot;). After failed experiment with Data::Walk and dumping Data::Transformer due to unsightly interface, I found Data::Rmap. It'...
<br><br>My only complaint would be the name: it's not immediately searchable (I was searching for 'data modify', 'data walk', 'data traverse', 'modify data inplace', and the like). Also, the name &quot;map&quot; suggests that the function will return...


=item L<Data::Walk>

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

Nice interface (the analogy to File::Find certainly helps) and very straightforward to use, but one thing I can't do is modify the data inplace. I spent about an of hours trying to make Data::Walk do inplace modification, but finally gave up and use ...


Rating: 8/10

=item L<Data::Transformer>

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

Frankly, I don't like the interface. I suspect most people would like to just specify one callback function instead of one for each type. Also I don't like having to work with $$_ ($_ should perhaps be aliased to the real data). As the Data::Transfor...
<br>


Rating: 4/10

=item L<Data::Traverse>

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

I find the interface rather unintuitive, because I expect data to be in $_ (instead of type). For those looking for alternatives, see also Data::Walk (which provides breadth-first as well as depth-first) and Data::Rmap (which provides inplace modific...
<br>


Rating: 4/10

lib/Acme/CPANModules/Import/CPANRatings/User/davidgaramond.pm  view on Meta::CPAN


=item L<Data::Dump>

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

I've envied Ruby users which can use just &quot;p&quot; to print out data structures instead of us which used to have to do 'use Data::Dumper; print Dumper(...);'. And even then there's this '$VAR1 = ' garbage which 99% of the time is not wanted. Whi...
<br><br>With Data::Dump we're still a bit behind but closer. One rant is the with the doc: the pp() function should perhaps be advertised more prominently, since I suspect that's what most users want most of the time.


=item L<V>

 view all matches for this distribution


Acme-CPANModules-Import-CPANRatings-User-perlancar

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-Import-CPANRatings-User-perlancar'; # DIST
our $VERSION = '0.002'; # VERSION

our $LIST = {description=>"This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.",entries=>[{description=>"\nI'm not sure this really &quot;befits a ::Tiny distribution&quot; just because it's a thin wrapper of something. P...

1;
# ABSTRACT: List of modules mentioned by CPANRatings user perlancar

__END__

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


=item L<DBIx::Compare>

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

Use MySQL-specific SQL dialect &quot;SHOW TABLES&quot; so comparing e.g. two SQLite database is an instant fail, even though there is DBIx::Compare::SQLite. Instead of the common convention like DBIx::Compare-&gt;new(...), uses db_comparison-&gt;new(...


Rating: 4/10

=item L<Perl::Critic>

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


=item L<Hash::MD5>

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

Since this is essentially md5(dump($data)), why restrict yourself to hash? This works also for any kind of Perl data structure.


=item L<DateTime::Format::Docker>

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

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


=item L<WWW::CPANRatings>

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

To get the ratings for a single distribution, this client library needs to download /csv/all_ratings.csv (~80KB at the time of this writing) first. This is not the fault of the client because the website indeed does not provide the necessary ratings ...


Rating: 8/10

=item L<Parse::CPAN::Ratings>

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN

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

Any module from ADAMK should be interesting, including this one. But please take a look at CPAN::Changes for the de facto standard nowadays.


=item L<Module::Metadata::Changes>

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

Like Module::Changes, this module also tries to use a more defined format for Changes. Sadly, it has not caught on. Please also take a look at CPAN::Changes which seems to be the de facto standard nowadays.

lib/Acme/CPANModules/Import/CPANRatings/User/perlancar.pm  view on Meta::CPAN


=item L<Regexp::Assemble>

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

I guess it depends on your data, but for random shortish strings (hundreds to thousands of them), I find that using raw joining is much faster to assemble the regex. And the resulting regex is also (much) faster to match. Please see Bencher::Scenario...


=item L<Tie::Scalar::Callback>

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

 view all matches for this distribution


Acme-CPANModules-Import-CPANRatings-User-stevenharyanto

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-Import-CPANRatings-User-stevenharyanto'; # DIST
our $VERSION = '0.002'; # VERSION

our $LIST = {description=>"This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.",entries=>[{description=>"\n(REMOVED)\n",module=>"Log::Any",rating=>undef},{description=>"\nProvides a thin/lightweight OO interface for \$?, ...

1;
# ABSTRACT: List of modules mentioned by CPANRatings user stevenharyanto

__END__

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

use Data::Seek;
<br>
use Data::DPath qw(dpath);
<br>
use JSON::Path;
<br><br>my $data = { map { $_ =&gt; {map {$I<< =&gt;[1..4]} 1..20} } &quot;a&quot;..&quot;z&quot; };
<br><br>timethese(-0.25, {
<br><br>dseek =&gt; sub { $ds = Data::Seek-&gt;new(data=&gt;$data); $ds-&gt;search(&quot;j.1.\@&quot;)-&gt;data }, 
<br><br>dseek >>cacheobj=&gt;sub{ state $ds=Data::Seek-&gt;new(data=&gt;$data); $ds-&gt;search(&quot;j.1.\@&quot;)-&gt;data },
<br><br>dpath=&gt;sub{ dpath(&quot;/j/1/I<< &quot;)-&gt;match($data) }, 
<br><br>jpath=&gt;sub{ JSON::Path-&gt;new(q[$.j.1.[ >>]])-&gt;values($data) },
<br>
});
<br>
=head2 #

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

=item L<Opt::Imistic>

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

Very nifty for short scripts and some clever design inside (all options are stored as arrayref, but there is some overloading to make getting boolean/flag and normal scalar value convenient).
<br><br>For more &quot;proper&quot; scripts though (anything above say 20-30 lines) I'd recommend using something like Getopt::Long with a real spec. Some of the features I like in G::L not in Opt::Imistic: the ability to get --noOPT for free for fla...


=item L<Devel::STrace>

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

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<App::DBBrowser>

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

A nice, minimalistic, terminal-based user interface for browsing your database and tables. Might be useful for simple cases.
<br><br>It would be I<much> more useful if usernames/passwords, queries, and other settings can be saved in a config/session file.
<br>


=item L<Locale::Maketext>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<Number::Zero>

From the module's POD: &quot;The number zero and undef are difficult to determine in Perl.&quot;
<br><br>Are they?
<br><br>say !defined($data) ? &quot;undef&quot; : &quot;not undef&quot;;
<br><br>say defined($data) &amp;&amp; $data==0 ? &quot;zero&quot; : &quot;not zero&quot;; # yes, warn if non-numeric
<br><br>use Scalar::Util 'looks_like_number';
<br>
say looks_like_number($data) &amp;&amp; $data==0 ? &quot;zero&quot; : &quot;not zero&quot;;
<br><br>Though I understand the need for a convenient &quot;is_zero&quot; function if you need to test for zero in a program a lot.


=item L<Syntax::SourceHighlight>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<YAML::Syck>

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

To be fair, in my experience YAML::Syck is not &quot;much more buggy&quot; than ::XS. It even sometimes works with my YAML data while ::XS crashes. Go figure.


=item L<Devel::FindPerl>

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

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

<br><br>Plus it segfaults sometimes (might be my perl though).


Rating: 4/10

=item L<Lingua::Metadata>

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

As previous reviewer noted, this module is actually just a front-end to the author's web service. Plus license is specifically BSD (which allows this module to be included in closed source projects), this is rather ironic to me.
<br>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN



=item L<Any::Mo>

Why exclude Moo?
<br><br>Also the issue with any Any::* (or Any::*) modules is that there should be a mechanism (preferably a common one) to adjust the ordering. Sometimes I prefer Moose first, for full capability or compatibility or whatever. Sometimes I prefer Mous...
<br>


=item L<PerlX::Perform>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


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

5 stars for cute metaphor (there's also Acme::Holy by the same author, but that is just another implementation of Scalar::Util's blessed()) and for prompt support from the author.
<br><br>I'm sure there exists a real use case to move this out of Acme::, however obscure that might be. Can't come up with any right now, all I can think of is reblessing, which can be handled with bless() from the start.
<br><br>UPDATE 2013-09-11: I found a real use-case for it! Cleaning up data to be sent to JSON. BTW, Data::Structure::Util also has an unbless() function, but Acme::Damn is smaller and faster. Data::Structure::Util also currently doesn't build on Win...
<br>


=item L<WWW::Parallels::Agent>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<Locale::Geocode>

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

Sorry to have to rate with 1 star. I don't have problem with the interface/documentation. The 1-star rating is just to warn people that the data used by this module is not up to date. And that YEARS-old bugs are not being fixed.
<br><br>At the time of this writing, this module still uses ISO 3166-2:1998 (first edition) + the newsletters (minor updates) up to 2006. When it should be updated to ISO 3166-2:2007 (second edition) + all the newsletters. For example, this module do...
<br><br>Sadly we live in a world where countries and subcountries change all the time.


Rating: 2/10

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


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

UPDATE 2012-08-30: I am not sure if the module is now fully compliant to the new ISO 2007, but bug reports are certainly being responded and resolved now. Updating rating from 1-star to 4-star. Thanks, Kim.
<br><br>2012-02-17: Review to version 1.47:
<br><br>Sorry to have to rate with 1 star. I don't have problem with the interface/documentation. The 1-star rating is just to warn people that the data used by this module is not up to date. And that months-old bugs are not being fixed.
<br><br>At the time of this writing, this module still uses ISO 3166-2:1998 (first edition) when it should be updated to ISO 3166-2:2007 (second edition) + all the newsletters (minor updates). For example, this module does not report 3 newer province...
<br><br>Sadly we live in a world where countries and subcountries change all the time.
<br><br>EDIT: Ok, so I was not being clear that I was not talking about my own bug report (posted at about the same time of this review). And bugs were certainly being resolved up to about 7 months ago.
<br>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<Data::Rmap>

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

A very handy utility, sort of like s/// on your nested data structure instead of just strings. One nitpick: no coderef support. I needed to replace all coderefs inside a data structure into a string, since I want to pass it to JSON encoder. None of t...
<br><br>UPDATE 2011-12-30: The author (Brad) quickly responded to my RT ticket and added rmap_code. Upgrading from 4- to 5-star :) Regexp support is not there yet though, and I have suggested the ability to get all kinds of Perl-specific and weird ob...
<br>


=item L<Data::Properties::JSON>

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

The abstract for this module is a bit strange. What does this have to do with 'test fixtures'? Also the documentation doesn't say much, e.g. What will happen if a hash key contains funny characters (or arrays, etc)?
<br><br>A similar module in spirit is Data::Hive. I think &quot;providing convenient chained method access to hierarchical data&quot; should be refactored out. So perhaps Data::Properties::{JSON,YAML,...} should just be a convenient shortcut for {JSO...


=item L<Exporter::Auto>

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

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<File::MMagic::XS>

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

Last time I checked, still can't parse system magic database, e.g. /usr/share/file/magic (bug first filed in RT 4 years ago).
<br><br>The currently recommended module in this area seems to be File::LibMagic. Other alternatives include File::MMagic (slow and buggy, no longer maintained), Media::Type::Simple (only maps MIME type from/to file extension).


Rating: 4/10

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

=item L<Passwd::Unix>

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

No tests. No detailed error status, only true/false (yes, there is a 'warnings' parameter on constructor, but this doesn't give out warnings on all operations, only some). No locking (although there is backup, but still).
<br><br>Also, some weird choices, why use bzip2 when creating backup? Or, why still require running as root (checking $() if we are allowing custom database file location?
<br><br>Between this and Unix::ConfigFile, I'm seriously considering using Unix commands instead (useradd, userdel, gpasswd, et al).
<br><br>UPDATE 2011-04-21: I created a fork of Passwd::Unix 0.52 called Passwd::Unix::Alt instead, which add some tests and modifications. Try it out if your needs are also not met by Passwd::Unix.
<br><br>UPDATE 2012-08-30: I created a new module called Unix::Passwd::File. Try it out if your needs are also not met by Passwd::Unix.


lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

=item L<DateTime>

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

Amidst all the glowing reviews may I add a reminder that, as with everything, there's a catch: runtime performance. On my PC, the speed of creating a DateTime object is just around 6000/sec. If you use DateTime intensively, it can quickly add up.
<br><br>Imagine serving a web page that fetches 50 rows from database, where for convenience you convert each date column to a DateTime object, and you have 120 requests/sec coming in... That's already 6000 objects (an extra second!).
<br><br>Which is unfortunate because DateTime is so wonderful, convenient, correct, complete and all that. So one approach you can use might be to delay converting to DateTime object until necessary.


=item L<Date::Manip>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<Data::Clone>

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

I've never encountered difficulty in cloning data structures in Perl, usually I just use Clone or sometimes Storable's freeze + thaw (the later does not yet support cloning Regexp objects out of the box).
<br><br>However, I like Data::Clone for its speed! It's several times faster than Clone or freeze+thaw. So hats up. Planning to use Data::Clone in future projects.
<br><br>Now if we can convince Goro to write a fast serializer/deserializer with compact output (essentially, a faster version of Storable), that would be even nicer :-)
<br><br>


=item L<Data::Pond>

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

With due respect to the author, I fail to see the practical point of Pond. Pond (Perl-based open notation for data) is the Perl counterpart of JSON, except that implementation is currently only available in Perl (CMIIW), and &quot;Pond represents few...
<br><br>Pond is pitched against Data::Dumper + eval, which is dangerous, but Data::Dumper + eval is by far not the only method available for serialization. Perl can do Storable, JSON, YAML, even PHP serialization format.
<br><br>The documentation does not show what Pond looks like.
<br><br>One cute thing about Pond is that you can check Pond syntax using a single regex. But apart from that, there's nothing compelling in using Pond to serialize data.


Rating: 4/10

=item L<File::Which>

 view all matches for this distribution


Acme-CPANModules-InfoFromCPANTesters

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-InterestingTies

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-Interop-Ruby

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Interop/Ruby.pm  view on Meta::CPAN

            tags => ['interpreter'],
        },
        {
            module => 'Data::Format::Pretty::Ruby',
            summary => 'Like Data::Dumper but outputs Ruby code',
            tags => ['data'],
        },
        {
            module => 'mRuby',
            summary => 'Binding to the embedded Ruby interpreter',
            tags => ['interpreter'],

 view all matches for this distribution


Acme-CPANModules-JSONVariants

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/JSONVariants.pm  view on Meta::CPAN


Perl modules: (none so far).


5) **CSON**. <https://github.com/bevry/cson>. CofeeScript Object Notation.
JSON-like data serialization format inspired by CoffeeScript syntax. It allows
for a more concise representation of data by leveraging CoffeeScript's features
such as significant whitespace and optional commas.

Perl modules: (none so far).


lib/Acme/CPANModules/JSONVariants.pm  view on Meta::CPAN

Another "JSON with Comments", supported by Microsoft Visual Code.

Perl modules: (none so far).

5) B<CSON>. L<https://github.com/bevry/cson>. CofeeScript Object Notation.
JSON-like data serialization format inspired by CoffeeScript syntax. It allows
for a more concise representation of data by leveraging CoffeeScript's features
such as significant whitespace and optional commas.

Perl modules: (none so far).

6) B<RJSON>. L<https://relaxedjson.org/>. Relaxed JSON. Trailing commas,

 view all matches for this distribution


Acme-CPANModules-KitchenSinks

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-LanguageCodes

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-ListsOfWordsAndNames

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


Acme-CPANModules-LoadingModules

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "version" : "0.02"
         },
         {
            "class" : "Dist::Zilla::Plugin::PERLANCAR::EnsurePrereqToSpec",
            "config" : {
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/PERLANCAR::EnsurePrereqToSpec",
            "version" : "0.064"

META.json  view on Meta::CPAN

               "Dist::Zilla::Plugin::CheckSelfDependency" : {
                  "finder" : [
                     ":InstallModules"
                  ]
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/CheckSelfDependency",
            "version" : "0.011"

META.json  view on Meta::CPAN

                  "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004",
                  "inherit_missing" : 1,
                  "inherit_version" : 1,
                  "meta_noindex" : 1
               },
               "Dist::Zilla::Role::ModuleMetadata" : {
                  "Module::Metadata" : "1.000037",
                  "version" : "0.006"
               }
            },
            "name" : "@Author::PERLANCAR/MetaProvides::Package",
            "version" : "2.004003"

 view all matches for this distribution


( run in 0.392 second using v1.01-cache-2.11-cpan-8d75d55dd25 )