view release on metacpan or search on metacpan
use warnings;
use Test::More;
eval "use Test::Pod 1.18";
plan skip_all => 'Test::Pod 1.18 required' if $@;
plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
all_pod_files_ok();
view all matches for this distribution
view release on metacpan or search on metacpan
.travis.yml view on Meta::CPAN
after_failure:
- perl ./maint-travis-ci/report_fail_ctx.pl
before_install:
- perlbrew list
- time git clone --depth 10 https://github.com/kentfredric/travis-scripts.git maint-travis-ci
- time git -C ./maint-travis-ci reset --hard master
- time perl ./maint-travis-ci/branch_reset.pl
- time perl ./maint-travis-ci/sterilize_env.pl
before_script:
- time perl ./maint-travis-ci/before_script.pl
branches:
only:
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANAuthors/Malaysian.pm view on Meta::CPAN
=head1 REPOSITORY
Source repository at L<https://github.com/kianmeng/acme-cpanauthors-malaysian|https://github.com/kianmeng/acme-cpanauthors-malaysian>.
How to contribute? Follow through the L<CONTRIBUTING.md|https://github.com/kianmeng/acme-cpanauthors-malaysian/blob/master/CONTRIBUTING.md> document to setup your development environment.
=head1 AUTHOR
Kian Meng, Ang E<lt>kianmeng@cpan.orgE<gt>
view all matches for this distribution
view release on metacpan or search on metacpan
[@Filter]
-bundle = @Basic
-remove = Readme
[PruneFiles]
filename = setup
match = \.patch$
match = mess/.*
match = cover_db
[AutoPrereqs]
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/AutoInstall.pm view on Meta::CPAN
use vars qw{$VERSION};
BEGIN {
$VERSION = '1.03';
}
# special map on pre-defined feature sets
my %FeatureMap = (
'' => 'Core Features', # XXX: deprecated
'-core' => 'Core Features',
);
inc/Module/AutoInstall.pm view on Meta::CPAN
my $option = lc($1);
# check for a newer version of myself
_update_to( $modules, @_ ) and return if $option eq 'version';
# sets CPAN configuration options
$Config = $modules if $option eq 'config';
# promote every features to core status
$core_all = ( $modules =~ /^all$/i ) and next
if $option eq 'core';
inc/Module/AutoInstall.pm view on Meta::CPAN
my $conf = $cp->configure_object;
return unless $conf->can('conf') # 0.05x+ with "sudo" support
or _can_write($conf->_get_build('base')); # 0.04x
# if we're root, set UNINST=1 to avoid trouble unless user asked for it.
my $makeflags = $conf->get_conf('makeflags') || '';
if ( UNIVERSAL::isa( $makeflags, 'HASH' ) ) {
# 0.03+ uses a hashref here
$makeflags->{UNINST} = 1 unless exists $makeflags->{UNINST};
inc/Module/AutoInstall.pm view on Meta::CPAN
# 0.02 and below uses a scalar
$makeflags = join( ' ', split( ' ', $makeflags ), 'UNINST=1' )
if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } );
}
$conf->set_conf( makeflags => $makeflags );
$conf->set_conf( prereqs => 1 );
while ( my ( $key, $val ) = splice( @config, 0, 2 ) ) {
$conf->set_conf( $key, $val );
}
my $modtree = $cp->module_tree;
while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) {
print "*** Installing $pkg...\n";
inc/Module/AutoInstall.pm view on Meta::CPAN
# no "sudo" support, probe for writableness
return unless _can_write( MM->catfile( $CPAN::Config->{cpan_home}, 'sources' ) )
and _can_write( $Config::Config{sitelib} );
}
# if we're root, set UNINST=1 to avoid trouble unless user asked for it.
my $makeflags = $CPAN::Config->{make_install_arg} || '';
$CPAN::Config->{make_install_arg} =
join( ' ', split( ' ', $makeflags ), 'UNINST=1' )
if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } );
# don't show start-up info
$CPAN::Config->{inhibit_startup_message} = 1;
# set additional options
while ( my ( $opt, $arg ) = splice( @config, 0, 2 ) ) {
( $args{$opt} = $arg, next )
if $opt =~ /^force$/; # pseudo-option
$CPAN::Config->{$opt} = $arg;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANAuthors/Nonhuman.pm view on Meta::CPAN
use strict;
use warnings;
package Acme::CPANAuthors::Nonhuman; # git description: v0.025-4-g5e85df3
# vim: set ts=8 sts=4 sw=4 tw=115 et :
# ABSTRACT: We are non-human CPAN authors
# KEYWORDS: acmeism cpan authors animals fun
our $VERSION = '0.026';
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANAuthors/Not.pm view on Meta::CPAN
my ($ids) = @_;
# Compute frequency tables for each letter in the CPAN id, to try
# to come up with vaguely sensible ids
my @lengths;
my @count; # ( offset into id => { letter => count } )
for my $id (@$ids) {
++$lengths[length($id)];
for my $i (0 .. length($id)) {
my $letter = substr($id, $i, 1);
$count[$i]{$letter}++;
}
}
my @freq; # ( offset into id => <letter,probability> )
for my $i (0 .. $#count) {
# Bump up minimums of letters to one, just to allow all
# possibilities.
$count[$i]{$_} ||= 1 foreach ('A' .. 'Z');
lib/Acme/CPANAuthors/Not.pm view on Meta::CPAN
This class provides a hash of nonexistent CPAN authors' Pause ID/name to
Acme::CPANAuthors.
=head1 INTERNALS
While I was tempted to use a tied hash to provide an infinite set of
nonexistent authors, I decided against it because it wouldn't fit in
with Acme::CPANAuthors very well (it listifies the hash). So I went
for randomness instead.
Oh, and this module works way too hard for what it does.
view all matches for this distribution
view release on metacpan or search on metacpan
t/000_basic.t view on Meta::CPAN
BEGIN {
use_ok ('Acme::CPANAuthors::Pumpkings') or
BAIL_OUT ("Loading of 'Acme::CPANAuthors::Pumpkings' failed");
}
ok defined $Acme::CPANAuthors::Pumpkings::VERSION, "VERSION is set";
my $authors = Acme::CPANAuthors -> new ('Pumpkings');
ok $authors, 'Got $authors';
view all matches for this distribution
view release on metacpan or search on metacpan
script/cpan-faces.pl view on Meta::CPAN
./cpan-faces.pl Russian
=head1 DESCRIPTION
You can build CPAN faces for others Acme::CPANAuthors sets.
This script based on L<POE>.
See source code :)
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
# The load order for Module::Install is a bit magic.
# It goes something like this...
#
# IF ( host has Module::Install installed, creating author mode ) {
# 1. Makefile.PL calls "use inc::Module::Install"
# 2. $INC{inc/Module/Install.pm} set to installed version of inc::Module::Install
# 3. The installed version of inc::Module::Install loads
# 4. inc::Module::Install calls "require Module::Install"
# 5. The ./inc/ version of Module::Install loads
# } ELSE {
# 1. Makefile.PL calls "use inc::Module::Install"
# 2. $INC{inc/Module/Install.pm} set to ./inc/ version of Module::Install
# 3. The ./inc/ version of Module::Install loads
# }
use 5.006;
use strict 'vars';
inc/Module/Install.pm view on Meta::CPAN
# to allow "eval 'require Module::Install; 1' to test
# installation of Module::Install. (RT #51267)
#-------------------------------------------------------------
# Whether or not inc::Module::Install is actually loaded, the
# $INC{inc/Module/Install.pm} is what will still get set as long as
# the caller loaded module this in the documented manner.
# If not set, the caller may NOT have loaded the bundled version, and thus
# they may not have a MI version that works with the Makefile.PL. This would
# result in false errors or unexpected behaviour. And we don't want that.
my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm';
unless ( $INC{$file} ) { die <<"END_DIE" }
view all matches for this distribution
view release on metacpan or search on metacpan
use warnings;
use Test::More;
eval "use Test::Pod 1.18";
plan skip_all => 'Test::Pod 1.18 required' if $@;
plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
all_pod_files_ok();
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANAuthors/You/re_using.pm view on Meta::CPAN
=head1 FUNCTIONS
=head2 C<register>
Fetches and registers the names into L<Acme::CPANAuthors::Register>.
This function is automatically called when you C<use> this module, unless you have set the package variable C<$Acme::CPANAuthors::You're_using::SKIP> to true beforehand.
=cut
BEGIN { require Acme::CPANAuthors::Register; }
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/Import/PERLANCAR/Advent/2014.pm view on Meta::CPAN
package Acme::CPANLists::Import::PERLANCAR::Advent::2014;
our $DATE = '2016-11-07'; # DATE
our $VERSION = '0.001'; # VERSION
our @Module_Lists = ({description=>"This list is generated by extracting module names mentioned in [http://blogs.perl.org/users/perlancar/2014/12/perlancars-2014-advent-calendar.html] (retrieved on 2016-11-07). Visit the URL for the full contents.",e...
1;
# ABSTRACT: Modules mentioned in PERLANCAR's 2014 advent calendar article series
__END__
lib/Acme/CPANLists/Import/PERLANCAR/Advent/2014.pm view on Meta::CPAN
=item * L<File::umask>
=item * L<Locale::Tie>
=item * L<Unix::setuid>
=item * L<App::Stopwatch>
=item * L<Module::List>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/Import/PerlAdvent/2011.pm view on Meta::CPAN
package Acme::CPANLists::Import::PerlAdvent::2011;
our $DATE = '2016-11-06'; # DATE
our $VERSION = '0.001'; # VERSION
our @Module_Lists = ({description=>"This list is generated by extracting module names mentioned in [http://perladvent.org/2011/] (retrieved on 2016-11-06). Visit the URL for the full contents.",entries=>[{module=>"ExtUtils::MakeMaker"},{module=>"Modu...
1;
# ABSTRACT: Modules mentioned in Perl Advent Calendar 2011
__END__
lib/Acme/CPANLists/Import/PerlAdvent/2011.pm view on Meta::CPAN
=item * L<Devel::PatchPerl>
=item * L<Data::Page>
=item * L<Data::Pageset>
=item * L<Data::Paginator>
=item * L<Data::SearchEngine>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/Import/PerlTricks/WhatsNewOnCPAN/201612.pm view on Meta::CPAN
package Acme::CPANLists::Import::PerlTricks::WhatsNewOnCPAN::201612;
our $DATE = '2017-01-06'; # DATE
our $VERSION = '0.001'; # VERSION
our @Module_Lists = ({description=>"This list is generated by extracting module names mentioned in [http://perltricks.com/article/what-s-new-on-cpan---december-2016/] (retrieved on 2017-01-06). Visit the URL for the full contents.",entries=>[{module=...
1;
# ABSTRACT: Modules mentioned in PerlTricks.com's What's New on CPAN article, edition Dec 2016
__END__
lib/Acme/CPANLists/Import/PerlTricks/WhatsNewOnCPAN/201612.pm view on Meta::CPAN
=item * L<Data::Layout::BuddySystem>
=item * L<Data::ULID>
=item * L<Game::Asset>
=item * L<HTML::Notebook>
=item * L<JIRA::REST::Class>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/Import/RSAVAGE/ArrayAndSetOperations.pm view on Meta::CPAN
package Acme::CPANLists::Import::RSAVAGE::ArrayAndSetOperations;
our $DATE = '2016-02-21'; # DATE
our $VERSION = '0.02'; # VERSION
our @Module_Lists = ({description=>"This list is generated by extracting module names mentioned in the article [http://savage.net.au/Perl-modules/html/setops.report.html] (retrieved on 2016-02-21). For the full article, visit the URL.",entries=>[{mod...
1;
# ABSTRACT: CPAN modules which offer array and set operations (2012)
__END__
=pod
=encoding UTF-8
=head1 NAME
Acme::CPANLists::Import::RSAVAGE::ArrayAndSetOperations - CPAN modules which offer array and set operations (2012)
=head1 VERSION
This document describes version 0.02 of Acme::CPANLists::Import::RSAVAGE::ArrayAndSetOperations (from Perl distribution Acme-CPANLists-Import-RSAVAGE), released on 2016-02-21.
=head1 DESCRIPTION
This module is generated by extracting module names mentioned in the article L<http://savage.net.au/Perl-modules/html/setops.report.html> (retrieved on 2016-02-21). For the full article, visit the URL.
=head1 MODULE LISTS
=head2 CPAN modules which offer array and set operations (2012)
This list is generated by extracting module names mentioned in the article [http://savage.net.au/Perl-modules/html/setops.report.html] (retrieved on 2016-02-21). For the full article, visit the URL.
=over
=item * L<Array::AsObject>
lib/Acme/CPANLists/Import/RSAVAGE/ArrayAndSetOperations.pm view on Meta::CPAN
=item * L<Array::Uniq>
=item * L<Array::Utils>
=item * L<Benchmark::Featureset::SetOps>
=item * L<Bit::Vector>
=item * L<EO::Array>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists/PERLANCAR/MagicVariableTechnique.pm view on Meta::CPAN
{
summary => 'Modules which employ magic variable technique to do stuffs',
description => <<'_',
This is a list of modules which provide some "magic" variable which you can
get/set to perform stuffs. I personally find this technique is mostly useful to
"temporarily set" stuffs, by combining it with Perl's `local()`.
_
entries => [
{
module => 'File::chdir',
lib/Acme/CPANLists/PERLANCAR/MagicVariableTechnique.pm view on Meta::CPAN
},
{
module => 'File::umask',
description => <<'_',
Provides `$UMASK` to get/set umask.
_
},
{
module => 'Umask::Local',
lib/Acme/CPANLists/PERLANCAR/MagicVariableTechnique.pm view on Meta::CPAN
{
module => 'Locale::Tie',
description => <<'_',
Provides `$LANG`, `$LC_ALL`, `$LC_TIME`, and few others to let you (temporarily)
set locale settings.
_
},
{
module => 'Locale::Scope',
description => <<'_',
Like <pm:Locale::Tie>, but instead of using a tied variable, uses an object with
its `DESTROY` method restoring original settings.
_
},
],
},
lib/Acme/CPANLists/PERLANCAR/MagicVariableTechnique.pm view on Meta::CPAN
=head1 MODULE LISTS
=head2 Modules which employ magic variable technique to do stuffs
This is a list of modules which provide some "magic" variable which you can
get/set to perform stuffs. I personally find this technique is mostly useful to
"temporarily set" stuffs, by combining it with Perl's C<local()>.
=over
=item * L<File::chdir>
lib/Acme/CPANLists/PERLANCAR/MagicVariableTechnique.pm view on Meta::CPAN
created a few myself.
=item * L<File::umask>
Provides C<$UMASK> to get/set umask.
=item * L<Umask::Local>
Like L<File::umask>, but instead of using a tied variable, uses an object with
lib/Acme/CPANLists/PERLANCAR/MagicVariableTechnique.pm view on Meta::CPAN
Alternate modules: L<File::umask>
=item * L<Locale::Tie>
Provides C<$LANG>, C<$LC_ALL>, C<$LC_TIME>, and few others to let you (temporarily)
set locale settings.
=item * L<Locale::Scope>
Like L<Locale::Tie>, but instead of using a tied variable, uses an object with
its C<DESTROY> method restoring original settings.
=back
=head1 HOMEPAGE
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANLists.pm view on Meta::CPAN
Each author/module list is just a hash structure (L<DefHash>). The basic
structure is this:
# an example author list
{
#id => 'GUID', # optional, can be set to ease list identification/referral
summary => 'My favorite modules',
description => <<_,
(Some longer description, in Markdown format)
This is just a list of my favorite modules.
lib/Acme/CPANLists.pm view on Meta::CPAN
],
}
# an example module list
{
#id => 'GUID', # optional, can be set to ease list identification/referral
summary => 'My favorite authors',
description => <<'_',
(Some longer description, in Markdown format)
This is just a list of my favorite authors.
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/BloomFilters.pm view on Meta::CPAN
our $LIST = {
summary => "List of bloom filter modules on CPAN",
description => <<'_',
Bloom filter is a data structure that allows you to quickly check whether an
element is in a set. Compared to a regular hash, it is much more
memory-efficient. The downside is that bloom filter can give you false
positives, although false negatives are not possible. So in essence you can ask
a bloom filter which item is "possibly in set" or "definitely not in set". You
can configure the rate of false positives. The larger the filter, the smaller
the rate. Some examples for application of bloom filter include: 1) checking
whether a password is in a dictionary of millions of common/compromised
passwords; 2) checking an email address against leak database; 3) virus pattern
checking; 4) IP/domain blacklisting/whitelisting. Due to its properties, it is
sometimes combined with other data structures. For example, a small bloom filter
can be distributed with a software to check against a database. When the answer
from bloom filter is "possibly in set", the software can further consult on
online database to make sure if it is indeed in set. Thus, bloom filter can be
used to reduce the number of direct queries to database.
In Perl, my default go-to choice is <pm:Algorithm::BloomFilter>, unless there's
a specific feature I need from other implementations.
lib/Acme/CPANModules/BloomFilters.pm view on Meta::CPAN
This document describes version 0.004 of Acme::CPANModules::BloomFilters (from Perl distribution Acme-CPANModules-BloomFilters), released on 2022-03-18.
=head1 DESCRIPTION
Bloom filter is a data structure that allows you to quickly check whether an
element is in a set. Compared to a regular hash, it is much more
memory-efficient. The downside is that bloom filter can give you false
positives, although false negatives are not possible. So in essence you can ask
a bloom filter which item is "possibly in set" or "definitely not in set". You
can configure the rate of false positives. The larger the filter, the smaller
the rate. Some examples for application of bloom filter include: 1) checking
whether a password is in a dictionary of millions of common/compromised
passwords; 2) checking an email address against leak database; 3) virus pattern
checking; 4) IP/domain blacklisting/whitelisting. Due to its properties, it is
sometimes combined with other data structures. For example, a small bloom filter
can be distributed with a software to check against a database. When the answer
from bloom filter is "possibly in set", the software can further consult on
online database to make sure if it is indeed in set. Thus, bloom filter can be
used to reduce the number of direct queries to database.
In Perl, my default go-to choice is L<Algorithm::BloomFilter>, unless there's
a specific feature I need from other implementations.
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/CPANModules/BrowsingTableInteractively.pm view on Meta::CPAN
visualization features like XY-plots.
It has the concept of "sheets" like sheets in a spreadsheet workbook so anytime
you filter rows/columns or create summary or do some other derivation from your
data, you create a new sheet which you can edit, save, and destroy later as
needed and go back to your original table. It even presents settings and
metadata as sheets so you can edit them as a normal sheet.
It has plugins, and I guess it should be simple enough to create a plugin so you
can filter rows or add columns using Perl expression instead of the default
Python, if needed.
lib/Acme/CPANModules/BrowsingTableInteractively.pm view on Meta::CPAN
visualization features like XY-plots.
It has the concept of "sheets" like sheets in a spreadsheet workbook so anytime
you filter rows/columns or create summary or do some other derivation from your
data, you create a new sheet which you can edit, save, and destroy later as
needed and go back to your original table. It even presents settings and
metadata as sheets so you can edit them as a normal sheet.
It has plugins, and I guess it should be simple enough to create a plugin so you
can filter rows or add columns using Perl expression instead of the default
Python, if needed.
view all matches for this distribution
view release on metacpan or search on metacpan
},
"name" : "@Author::PERLANCAR/Test::Compile",
"version" : "2.058"
},
{
"class" : "Dist::Zilla::Plugin::Test::Perl::Critic::Subset",
"config" : {
"Dist::Zilla::Plugin::Test::Perl::Critic::Subset" : {
"finder" : [
":ExecFiles",
":InstallModules",
":TestFiles"
]
}
},
"name" : "@Author::PERLANCAR/Test::Perl::Critic::Subset",
"version" : "3.001.006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Rinci",
"name" : "@Author::PERLANCAR/Test::Rinci",
view all matches for this distribution