Acme-CPANModules-DataStructureWalker
view release on metacpan or search on metacpan
"requires" : {
"File::Spec" : "0",
"IO::Handle" : "0",
"IPC::Open3" : "0",
"Test::More" : "0"
}
},
"x_lists" : {
"x_lists" : {
"Data::Clean" : "0",
"Data::Dmap" : "0",
"Data::Leaf::Walker" : "0",
"Data::Rmap" : "0",
"Data::Transformer" : "0",
"Data::Traverse" : "0",
"Data::Visitor" : "0",
"Data::Walk" : "0"
}
},
"x_mentions" : {
"x_mentions" : {
"Data::Clean" : "0",
"Data::Dmap" : "0",
"Data::Leaf::Walker" : "0",
"Data::Rmap" : "0",
"Data::Transformer" : "0",
"Data::Traverse" : "0",
"Data::Visitor" : "0",
"Data::Walk" : "0"
}
}
},
"provides" : {
"Acme::CPANModules::DataStructureWalker" : {
"file" : "lib/Acme/CPANModules/DataStructureWalker.pm",
Acme::CPANModules::DataStructureWalker (from Perl distribution
Acme-CPANModules-DataStructureWalker), released on 2023-10-29.
DESCRIPTION
This list catalogs modules that let you traverse your data structure by
visiting each node/item: each element of an array, each key/value pair
of a hash, recursively. Sort of like File::Find for your data instead of
filesystem. These modules can be used for searching or modifying your
data.
Many modules in this list mimic Perl's "map" interface, for example:
Data::Rmap, Data::Dmap, Data::Traverse. The difference among these
modules lies in the details: in how you specify option to skip
unsupported types of references, or whether some let you control the
recursion (e.g. Data::Rmap's and Data::Dmap's "cut"),
Data::Walk models its interface on File::Find. It lets you choose
whether you want to go depth-first or breadth-first.
Benchmarks for these modules coming soon.
Related modules:
Data::Clean can be used to clean/sanitize your data structure more
performantly compared to your manual walking (e.g. using Data::Rmap). It
works by generating Perl code specifically for your cleaning needs.
ACME::CPANMODULES ENTRIES
Data::Rmap
Author: BOWMANBS <https://metacpan.org/author/BOWMANBS>
Data::Dmap
Author: MADZ <https://metacpan.org/author/MADZ>
Data::Visitor
Author: ETHER <https://metacpan.org/author/ETHER>
Data::Transformer
Author: BALDUR <https://metacpan.org/author/BALDUR>
Data::Traverse
Author: FRIEDO <https://metacpan.org/author/FRIEDO>
lib/Acme/CPANModules/DataStructureWalker.pm view on Meta::CPAN
our $LIST = {
summary => "List of modules that traverse your data structure",
description => <<'_',
This list catalogs modules that let you traverse your data structure by visiting
each node/item: each element of an array, each key/value pair of a hash,
recursively. Sort of like <pm:File::Find> for your data instead of filesystem.
These modules can be used for searching or modifying your data.
Many modules in this list mimic Perl's `map` interface, for example:
<pm:Data::Rmap>, <pm:Data::Dmap>, <pm:Data::Traverse>. The difference among
these modules lies in the details: in how you specify option to skip unsupported
types of references, or whether some let you control the recursion (e.g.
Data::Rmap's and Data::Dmap's `cut`),
<pm:Data::Walk> models its interface on File::Find. It lets you choose whether
you want to go depth-first or breadth-first.
Benchmarks for these modules coming soon.
Related modules:
<pm:Data::Clean> can be used to clean/sanitize your data structure more
performantly compared to your manual walking (e.g. using Data::Rmap). It works
by generating Perl code specifically for your cleaning needs.
_
entries => [
{module => 'Data::Rmap'},
{module => 'Data::Dmap'},
{module => 'Data::Visitor'},
{module => 'Data::Transformer'},
{module => 'Data::Traverse'},
{module => 'Data::Leaf::Walker'},
{module => 'Data::Walk'},
{module => 'Data::Clean'},
],
};
lib/Acme/CPANModules/DataStructureWalker.pm view on Meta::CPAN
This document describes version 0.003 of Acme::CPANModules::DataStructureWalker (from Perl distribution Acme-CPANModules-DataStructureWalker), released on 2023-10-29.
=head1 DESCRIPTION
This list catalogs modules that let you traverse your data structure by visiting
each node/item: each element of an array, each key/value pair of a hash,
recursively. Sort of like L<File::Find> for your data instead of filesystem.
These modules can be used for searching or modifying your data.
Many modules in this list mimic Perl's C<map> interface, for example:
L<Data::Rmap>, L<Data::Dmap>, L<Data::Traverse>. The difference among
these modules lies in the details: in how you specify option to skip unsupported
types of references, or whether some let you control the recursion (e.g.
Data::Rmap's and Data::Dmap's C<cut>),
L<Data::Walk> models its interface on File::Find. It lets you choose whether
you want to go depth-first or breadth-first.
Benchmarks for these modules coming soon.
Related modules:
L<Data::Clean> can be used to clean/sanitize your data structure more
performantly compared to your manual walking (e.g. using Data::Rmap). It works
by generating Perl code specifically for your cleaning needs.
=head1 ACME::CPANMODULES ENTRIES
=over
=item L<Data::Rmap>
Author: L<BOWMANBS|https://metacpan.org/author/BOWMANBS>
=item L<Data::Dmap>
Author: L<MADZ|https://metacpan.org/author/MADZ>
=item L<Data::Visitor>
Author: L<ETHER|https://metacpan.org/author/ETHER>
=item L<Data::Transformer>
Author: L<BALDUR|https://metacpan.org/author/BALDUR>
t/00-compile.t view on Meta::CPAN
use IO::Handle;
open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
my @warnings;
for my $lib (@module_files)
{
# see L<perlfaq8/How can I capture STDERR from an external command?>
my $stderr = IO::Handle->new;
diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} }
$^X, @switches, '-e', "require q[$lib]"))
if $ENV{PERL_COMPILE_TEST_DEBUG};
my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]");
binmode $stderr, ':crlf' if $^O eq 'MSWin32';
my @_warnings = <$stderr>;
waitpid($pid, 0);
is($?, 0, "$lib loaded ok");
shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
( run in 0.361 second using v1.01-cache-2.11-cpan-49f99fa48dc )