The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

---
abstract: 'Fast and featureful data structure validation'
author:
- 'perlancar <perlancar@cpan.org>'
build_requires:
File::Spec: '0'
IO::Handle: '0'
IPC::Open3: '0'
List::Util: '1.54'
Sah::SpecTest: v0.9.50
Test::Exception: '0'
Test::More: '0.98'
Test::NoWarnings: '0'
Test::Warn: '0'
Time::Duration::Parse::AsHash: '0'
lib::filter: '0.03'
overload: '0'
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 0
generated_by: 'Dist::Zilla version 6.031, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: Data-Sah
provides:
Data::Sah:
file: lib/Data/Sah.pm
version: '0.917'
Data::Sah::Compiler:
file: lib/Data/Sah/Compiler.pm
version: '0.917'
Data::Sah::Compiler::Prog:
file: lib/Data/Sah/Compiler/Prog.pm
version: '0.917'
Data::Sah::Compiler::Prog::TH:
file: lib/Data/Sah/Compiler/Prog/TH.pm
version: '0.917'
Data::Sah::Compiler::Prog::TH::all:
file: lib/Data/Sah/Compiler/Prog/TH/all.pm
version: '0.917'
Data::Sah::Compiler::Prog::TH::any:
file: lib/Data/Sah/Compiler/Prog/TH/any.pm
version: '0.917'
Data::Sah::Compiler::TH:
file: lib/Data/Sah/Compiler/TH.pm
version: '0.917'
Data::Sah::Compiler::TextResultRole:
file: lib/Data/Sah/Compiler/TextResultRole.pm
version: '0.917'
Data::Sah::Compiler::human:
file: lib/Data/Sah/Compiler/human.pm
version: '0.917'
Data::Sah::Compiler::human::TH:
file: lib/Data/Sah/Compiler/human/TH.pm
version: '0.917'
Data::Sah::Compiler::human::TH::Comparable:
file: lib/Data/Sah/Compiler/human/TH/Comparable.pm
version: '0.917'
Data::Sah::Compiler::human::TH::HasElems:
file: lib/Data/Sah/Compiler/human/TH/HasElems.pm
version: '0.917'
Data::Sah::Compiler::human::TH::Sortable:
file: lib/Data/Sah/Compiler/human/TH/Sortable.pm
version: '0.917'
Data::Sah::Compiler::human::TH::all:
file: lib/Data/Sah/Compiler/human/TH/all.pm
version: '0.917'
Data::Sah::Compiler::human::TH::any:
file: lib/Data/Sah/Compiler/human/TH/any.pm
version: '0.917'
Data::Sah::Compiler::human::TH::array:
file: lib/Data/Sah/Compiler/human/TH/array.pm
version: '0.917'
Data::Sah::Compiler::human::TH::bool:
file: lib/Data/Sah/Compiler/human/TH/bool.pm
version: '0.917'
Data::Sah::Compiler::human::TH::buf:
file: lib/Data/Sah/Compiler/human/TH/buf.pm
version: '0.917'
Data::Sah::Compiler::human::TH::cistr:
file: lib/Data/Sah/Compiler/human/TH/cistr.pm
version: '0.917'
Data::Sah::Compiler::human::TH::code:
file: lib/Data/Sah/Compiler/human/TH/code.pm
version: '0.917'
Data::Sah::Compiler::human::TH::date:
file: lib/Data/Sah/Compiler/human/TH/date.pm
version: '0.917'
Data::Sah::Compiler::human::TH::datenotime:
file: lib/Data/Sah/Compiler/human/TH/datenotime.pm
version: '0.917'
Data::Sah::Compiler::human::TH::datetime:
file: lib/Data/Sah/Compiler/human/TH/datetime.pm
version: '0.917'
Data::Sah::Compiler::human::TH::duration:
file: lib/Data/Sah/Compiler/human/TH/duration.pm
version: '0.917'
Data::Sah::Compiler::human::TH::float:
file: lib/Data/Sah/Compiler/human/TH/float.pm
version: '0.917'
Data::Sah::Compiler::human::TH::hash:
file: lib/Data/Sah/Compiler/human/TH/hash.pm
version: '0.917'
Data::Sah::Compiler::human::TH::int:
file: lib/Data/Sah/Compiler/human/TH/int.pm
version: '0.917'
Data::Sah::Compiler::human::TH::num:
file: lib/Data/Sah/Compiler/human/TH/num.pm
version: '0.917'
Data::Sah::Compiler::human::TH::obj:
file: lib/Data/Sah/Compiler/human/TH/obj.pm
version: '0.917'
Data::Sah::Compiler::human::TH::re:
file: lib/Data/Sah/Compiler/human/TH/re.pm
version: '0.917'
Data::Sah::Compiler::human::TH::str:
file: lib/Data/Sah/Compiler/human/TH/str.pm
version: '0.917'
Data::Sah::Compiler::human::TH::timeofday:
file: lib/Data/Sah/Compiler/human/TH/timeofday.pm
version: '0.917'
Data::Sah::Compiler::human::TH::undef:
file: lib/Data/Sah/Compiler/human/TH/undef.pm
version: '0.917'
Data::Sah::Compiler::perl:
file: lib/Data/Sah/Compiler/perl.pm
version: '0.917'
Data::Sah::Compiler::perl::TH:
file: lib/Data/Sah/Compiler/perl/TH.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::all:
file: lib/Data/Sah/Compiler/perl/TH/all.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::any:
file: lib/Data/Sah/Compiler/perl/TH/any.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::array:
file: lib/Data/Sah/Compiler/perl/TH/array.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::bool:
file: lib/Data/Sah/Compiler/perl/TH/bool.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::buf:
file: lib/Data/Sah/Compiler/perl/TH/buf.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::cistr:
file: lib/Data/Sah/Compiler/perl/TH/cistr.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::code:
file: lib/Data/Sah/Compiler/perl/TH/code.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::date:
file: lib/Data/Sah/Compiler/perl/TH/date.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::datenotime:
file: lib/Data/Sah/Compiler/perl/TH/datenotime.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::datetime:
file: lib/Data/Sah/Compiler/perl/TH/datetime.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::duration:
file: lib/Data/Sah/Compiler/perl/TH/duration.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::float:
file: lib/Data/Sah/Compiler/perl/TH/float.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::hash:
file: lib/Data/Sah/Compiler/perl/TH/hash.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::int:
file: lib/Data/Sah/Compiler/perl/TH/int.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::num:
file: lib/Data/Sah/Compiler/perl/TH/num.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::obj:
file: lib/Data/Sah/Compiler/perl/TH/obj.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::re:
file: lib/Data/Sah/Compiler/perl/TH/re.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::str:
file: lib/Data/Sah/Compiler/perl/TH/str.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::timeofday:
file: lib/Data/Sah/Compiler/perl/TH/timeofday.pm
version: '0.917'
Data::Sah::Compiler::perl::TH::undef:
file: lib/Data/Sah/Compiler/perl/TH/undef.pm
version: '0.917'
Data::Sah::Human:
file: lib/Data/Sah/Human.pm
version: '0.917'
Data::Sah::Lang:
file: lib/Data/Sah/Lang.pm
version: '0.917'
Data::Sah::Lang::fr_FR:
file: lib/Data/Sah/Lang/fr_FR.pm
version: '0.917'
Data::Sah::Lang::id_ID:
file: lib/Data/Sah/Lang/id_ID.pm
version: '0.917'
Data::Sah::Lang::zh_CN:
file: lib/Data/Sah/Lang/zh_CN.pm
version: '0.917'
Data::Sah::Type::BaseType:
file: lib/Data/Sah/Type/BaseType.pm
version: '0.917'
Data::Sah::Type::Comparable:
file: lib/Data/Sah/Type/Comparable.pm
version: '0.917'
Data::Sah::Type::HasElems:
file: lib/Data/Sah/Type/HasElems.pm
version: '0.917'
Data::Sah::Type::Sortable:
file: lib/Data/Sah/Type/Sortable.pm
version: '0.917'
Data::Sah::Type::all:
file: lib/Data/Sah/Type/all.pm
version: '0.917'
Data::Sah::Type::any:
file: lib/Data/Sah/Type/any.pm
version: '0.917'
Data::Sah::Type::array:
file: lib/Data/Sah/Type/array.pm
version: '0.917'
Data::Sah::Type::bool:
file: lib/Data/Sah/Type/bool.pm
version: '0.917'
Data::Sah::Type::buf:
file: lib/Data/Sah/Type/buf.pm
version: '0.917'
Data::Sah::Type::cistr:
file: lib/Data/Sah/Type/cistr.pm
version: '0.917'
Data::Sah::Type::code:
file: lib/Data/Sah/Type/code.pm
version: '0.917'
Data::Sah::Type::date:
file: lib/Data/Sah/Type/date.pm
version: '0.917'
Data::Sah::Type::datenotime:
file: lib/Data/Sah/Type/datenotime.pm
version: '0.917'
Data::Sah::Type::datetime:
file: lib/Data/Sah/Type/datetime.pm
version: '0.917'
Data::Sah::Type::duration:
file: lib/Data/Sah/Type/duration.pm
version: '0.917'
Data::Sah::Type::float:
file: lib/Data/Sah/Type/float.pm
version: '0.917'
Data::Sah::Type::hash:
file: lib/Data/Sah/Type/hash.pm
version: '0.917'
Data::Sah::Type::int:
file: lib/Data/Sah/Type/int.pm
version: '0.917'
Data::Sah::Type::num:
file: lib/Data/Sah/Type/num.pm
version: '0.917'
Data::Sah::Type::obj:
file: lib/Data/Sah/Type/obj.pm
version: '0.917'
Data::Sah::Type::re:
file: lib/Data/Sah/Type/re.pm
version: '0.917'
Data::Sah::Type::str:
file: lib/Data/Sah/Type/str.pm
version: '0.917'
Data::Sah::Type::timeofday:
file: lib/Data/Sah/Type/timeofday.pm
version: '0.917'
Data::Sah::Type::undef:
file: lib/Data/Sah/Type/undef.pm
version: '0.917'
Data::Sah::Util::Func:
file: lib/Data/Sah/Util/Func.pm
version: '0.917'
Data::Sah::Util::Role:
file: lib/Data/Sah/Util/Role.pm
version: '0.917'
Data::Sah::Util::Type::Date:
file: lib/Data/Sah/Util/Type/Date.pm
version: '0.917'
Data::Sah::Util::TypeX:
file: lib/Data/Sah/Util/TypeX.pm
version: '0.917'
Test::Data::Sah:
file: lib/Test/Data/Sah.pm
version: '0.917'
Test::Data::Sah::Human:
file: lib/Test/Data/Sah/Human.pm
version: '0.917'
Test::Data::Sah::Perl:
file: lib/Test/Data/Sah/Perl.pm
version: '0.917'
recommends:
DateTime: '0'
DateTime::Duration: '0'
Scalar::Util::Numeric: '0'
Time::Moment: '0'
Time::Piece: '0'
requires:
Data::Cmp: '0.002'
Data::Dmp: '0.242'
Data::Dump: '0'
Data::Sah::Coerce: '0.050'
Data::Sah::CoerceCommon: '0.050'
Data::Sah::DefaultValueCommon: '0.005'
Data::Sah::Filter: '0.024'
Data::Sah::FilterCommon: '0.024'
Data::Sah::Normalize: '0.051'
Data::Sah::Resolve: '0.010'
Exporter: '5.57'
File::ShareDir: '0'
File::ShareDir::Tarball: '0'
File::Slurper: '0'
File::chdir: '0'
JSON: '0'
Language::Expr: '0.29'
Language::Expr::Interpreter::var_enumer: '0'
Lingua::EN::Numbers::Ordinate: '1.02'
Log::ger: '0.038'
Mo: '0'
Module::Installed::Tiny: '0.011'
POSIX: '0'
Regexp::Stringify: '0'
Role::Tiny: '0'
Role::Tiny::With: '0'
Scalar::Util: '0'
Scalar::Util::Numeric::PP: '0'
Test::More: '0.98'
Text::sprintfn: '0'
Tie::IxHash: '0'
Time::HiRes: '0'
parent: '0'
perl: '5.010001'
strict: '0'
utf8: '0'
warnings: '0'
resources:
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Sah
homepage: https://metacpan.org/release/Data-Sah
repository: git://github.com/perlancar/perl-Data-Sah.git
version: '0.917'
x_Dist_Zilla:
perl:
version: '5.038002'
plugins:
-
class: Dist::Zilla::Plugin::Data::Sah
name: Data::Sah
version: '0.005'
-
class: Dist::Zilla::Plugin::PERLANCAR::CheckPendingRelease
name: '@Author::PERLANCAR/PERLANCAR::CheckPendingRelease'
version: '0.001'
-
class: Dist::Zilla::Plugin::GatherDir
config:
Dist::Zilla::Plugin::GatherDir:
exclude_filename: []
exclude_match: []
follow_symlinks: 0
include_dotfiles: 0
prefix: ''
prune_directory: []
root: .
name: '@Author::PERLANCAR/@Filter/GatherDir'
version: '6.031'
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@Author::PERLANCAR/@Filter/PruneCruft'
version: '6.031'
-
class: Dist::Zilla::Plugin::ManifestSkip
name: '@Author::PERLANCAR/@Filter/ManifestSkip'
version: '6.031'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@Author::PERLANCAR/@Filter/MetaYAML'
version: '6.031'
-
class: Dist::Zilla::Plugin::License
name: '@Author::PERLANCAR/@Filter/License'
version: '6.031'
-
class: Dist::Zilla::Plugin::PodCoverageTests
name: '@Author::PERLANCAR/@Filter/PodCoverageTests'
version: '6.031'
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@Author::PERLANCAR/@Filter/PodSyntaxTests'
version: '6.031'
-
class: Dist::Zilla::Plugin::ExtraTests
name: '@Author::PERLANCAR/@Filter/ExtraTests'
version: '6.031'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@Author::PERLANCAR/@Filter/ExecDir'
version: '6.031'
-
class: Dist::Zilla::Plugin::ShareDir
name: '@Author::PERLANCAR/@Filter/ShareDir'
version: '6.031'
-
class: Dist::Zilla::Plugin::MakeMaker
config:
Dist::Zilla::Role::TestRunner:
default_jobs: 1
name: '@Author::PERLANCAR/@Filter/MakeMaker'
version: '6.031'
-
class: Dist::Zilla::Plugin::Manifest
name: '@Author::PERLANCAR/@Filter/Manifest'
version: '6.031'
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@Author::PERLANCAR/@Filter/ConfirmRelease'
version: '6.031'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@Author::PERLANCAR/ExecDir script'
version: '6.031'
-
class: Dist::Zilla::Plugin::PERLANCAR::BeforeBuild
name: '@Author::PERLANCAR/PERLANCAR::BeforeBuild'
version: '0.610'
-
class: Dist::Zilla::Plugin::Rinci::AbstractFromMeta
name: '@Author::PERLANCAR/Rinci::AbstractFromMeta'
version: '0.10'
-
class: Dist::Zilla::Plugin::PodnameFromFilename
name: '@Author::PERLANCAR/PodnameFromFilename'
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'
-
class: Dist::Zilla::Plugin::PERLANCAR::MetaResources
name: '@Author::PERLANCAR/PERLANCAR::MetaResources'
version: '0.043'
-
class: Dist::Zilla::Plugin::CheckChangeLog
name: '@Author::PERLANCAR/CheckChangeLog'
version: '0.05'
-
class: Dist::Zilla::Plugin::CheckMetaResources
name: '@Author::PERLANCAR/CheckMetaResources'
version: '0.001'
-
class: Dist::Zilla::Plugin::CheckSelfDependency
config:
Dist::Zilla::Plugin::CheckSelfDependency:
finder:
- ':InstallModules'
Dist::Zilla::Role::ModuleMetadata:
Module::Metadata: '1.000037'
version: '0.006'
name: '@Author::PERLANCAR/CheckSelfDependency'
version: '0.011'
-
class: Dist::Zilla::Plugin::Git::Contributors
config:
Dist::Zilla::Plugin::Git::Contributors:
git_version: 2.25.1
include_authors: 0
include_releaser: 1
order_by: name
paths: []
name: '@Author::PERLANCAR/Git::Contributors'
version: '0.036'
-
class: Dist::Zilla::Plugin::CopyrightYearFromGit
name: '@Author::PERLANCAR/CopyrightYearFromGit'
version: '0.009'
-
class: Dist::Zilla::Plugin::IfBuilt
name: '@Author::PERLANCAR/IfBuilt'
version: '0.02'
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@Author::PERLANCAR/MetaJSON'
version: '6.031'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@Author::PERLANCAR/MetaConfig'
version: '6.031'
-
class: Dist::Zilla::Plugin::MetaProvides::Package
config:
Dist::Zilla::Plugin::MetaProvides::Package:
finder_objects:
-
class: Dist::Zilla::Plugin::FinderCode
name: '@Author::PERLANCAR/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
version: '6.031'
include_underscores: 0
Dist::Zilla::Role::MetaProvider::Provider:
$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'
-
class: Dist::Zilla::Plugin::PERLANCAR::Authority
name: '@Author::PERLANCAR/PERLANCAR::Authority'
version: '0.001'
-
class: Dist::Zilla::Plugin::OurDate
name: '@Author::PERLANCAR/OurDate'
version: '0.040'
-
class: Dist::Zilla::Plugin::OurDist
name: '@Author::PERLANCAR/OurDist'
version: '0.02'
-
class: Dist::Zilla::Plugin::OurPkgVersion
name: '@Author::PERLANCAR/OurPkgVersion'
version: '0.21'
-
class: Dist::Zilla::Plugin::PodWeaver
config:
Dist::Zilla::Plugin::PodWeaver:
finder:
- ':InstallModules'
- ':PerlExecFiles'
plugins:
-
class: Pod::Weaver::Plugin::EnsurePod5
name: '@CorePrep/EnsurePod5'
version: '4.019'
-
class: Pod::Weaver::Plugin::H1Nester
name: '@CorePrep/H1Nester'
version: '4.019'
-
class: Pod::Weaver::Section::Name
name: '@Author::PERLANCAR/Name'
version: '4.019'
-
class: Pod::Weaver::Section::Version
name: '@Author::PERLANCAR/Version'
version: '4.019'
-
class: Pod::Weaver::Section::Region
name: '@Author::PERLANCAR/prelude'
version: '4.019'
-
class: Pod::Weaver::Section::Generic
name: SYNOPSIS
version: '4.019'
-
class: Pod::Weaver::Section::Generic
name: DESCRIPTION
version: '4.019'
-
class: Pod::Weaver::Section::Generic
name: OVERVIEW
version: '4.019'
-
class: Pod::Weaver::Section::Collect
name: ATTRIBUTES
version: '4.019'
-
class: Pod::Weaver::Section::Collect
name: METHODS
version: '4.019'
-
class: Pod::Weaver::Section::Collect
name: FUNCTIONS
version: '4.019'
-
class: Pod::Weaver::Section::Leftovers
name: '@Author::PERLANCAR/Leftovers'
version: '4.019'
-
class: Pod::Weaver::Section::Region
name: '@Author::PERLANCAR/postlude'
version: '4.019'
-
class: Pod::Weaver::Section::Completion::GetoptLongComplete
name: '@Author::PERLANCAR/Completion::GetoptLongComplete'
version: '0.08'
-
class: Pod::Weaver::Section::Completion::GetoptLongSubcommand
name: '@Author::PERLANCAR/Completion::GetoptLongSubcommand'
version: '0.04'
-
class: Pod::Weaver::Section::Completion::GetoptLongMore
name: '@Author::PERLANCAR/Completion::GetoptLongMore'
version: '0.001'
-
class: Pod::Weaver::Section::Homepage::DefaultCPAN
name: '@Author::PERLANCAR/Homepage::DefaultCPAN'
version: '0.05'
-
class: Pod::Weaver::Section::Source::DefaultGitHub
name: '@Author::PERLANCAR/Source::DefaultGitHub'
version: '0.07'
-
class: Pod::Weaver::Section::Bugs::DefaultRT
name: '@Author::PERLANCAR/Bugs::DefaultRT'
version: '0.06'
-
class: Pod::Weaver::Section::Authors
name: '@Author::PERLANCAR/Authors'
version: '4.019'
-
class: Pod::Weaver::Section::Contributors
name: '@Author::PERLANCAR/Contributors'
version: '0.009'
-
class: Pod::Weaver::Section::PERLANCAR::Contributing
name: '@Author::PERLANCAR/PERLANCAR/Contributing'
version: '0.293'
-
class: Pod::Weaver::Section::Legal
name: '@Author::PERLANCAR/Legal'
version: '4.019'
-
class: Pod::Weaver::Plugin::Rinci
name: '@Author::PERLANCAR/Rinci'
version: '0.786'
-
class: Pod::Weaver::Plugin::AppendPrepend
name: '@Author::PERLANCAR/AppendPrepend'
version: '0.021'
-
class: Pod::Weaver::Plugin::EnsureUniqueSections
name: '@Author::PERLANCAR/EnsureUniqueSections'
version: '0.163250'
-
class: Pod::Weaver::Plugin::SingleEncoding
name: '@Author::PERLANCAR/SingleEncoding'
version: '4.019'
-
class: Pod::Weaver::Plugin::PERLANCAR::SortSections
name: '@Author::PERLANCAR/PERLANCAR::SortSections'
version: '0.082'
name: '@Author::PERLANCAR/PodWeaver'
version: '4.010'
-
class: Dist::Zilla::Plugin::PruneFiles
name: '@Author::PERLANCAR/PruneFiles'
version: '6.031'
-
class: Dist::Zilla::Plugin::Pod2Readme
name: '@Author::PERLANCAR/Pod2Readme'
version: '0.004'
-
class: Dist::Zilla::Plugin::Rinci::AddPrereqs
name: '@Author::PERLANCAR/Rinci::AddPrereqs'
version: '0.145'
-
class: Dist::Zilla::Plugin::Rinci::AddToDb
name: '@Author::PERLANCAR/Rinci::AddToDb'
version: '0.020'
-
class: Dist::Zilla::Plugin::Rinci::EmbedValidator
name: '@Author::PERLANCAR/Rinci::EmbedValidator'
version: '0.251'
-
class: Dist::Zilla::Plugin::SetScriptShebang
name: '@Author::PERLANCAR/SetScriptShebang'
version: '0.01'
-
class: Dist::Zilla::Plugin::Test::Compile
config:
Dist::Zilla::Plugin::Test::Compile:
bail_out_on_fail: 0
fail_on_warning: author
fake_home: 0
filename: t/00-compile.t
module_finder:
- ':InstallModules'
needs_display: 0
phase: test
script_finder:
- ':PerlExecFiles'
skips: []
switch: []
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'
version: '0.040'
-
class: Dist::Zilla::Plugin::StaticInstall
config:
Dist::Zilla::Plugin::StaticInstall:
dry_run: 0
mode: on
name: '@Author::PERLANCAR/StaticInstall'
version: '0.012'
-
class: Dist::Zilla::Plugin::EnsureSQLSchemaVersionedTest
name: '@Author::PERLANCAR/EnsureSQLSchemaVersionedTest'
version: '0.03'
-
class: Dist::Zilla::Plugin::Acme::CPANModules::Blacklist
name: '@Author::PERLANCAR/Acme::CPANModules::Blacklist'
version: '0.002'
-
class: Dist::Zilla::Plugin::Prereqs::EnsureVersion
name: '@Author::PERLANCAR/Prereqs::EnsureVersion'
version: '0.050'
-
class: Dist::Zilla::Plugin::Prereqs::CheckCircular
name: '@Author::PERLANCAR/Prereqs::CheckCircular'
version: '0.007'
-
class: Dist::Zilla::Plugin::UploadToCPAN::WWWPAUSESimple
name: '@Author::PERLANCAR/UploadToCPAN::WWWPAUSESimple'
version: '0.04'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: test
type: requires
name: TestRequires
version: '6.031'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: runtime
type: requires
name: Prereqs
version: '6.031'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: test
type: recommends
name: TestRecommends
version: '6.031'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: runtime
type: recommends
name: RuntimeRecommends
version: '6.031'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: develop
type: x_spec
name: DevelopX_spec
version: '6.031'
-
class: Dist::Zilla::Plugin::Acme::CPANModules::Whitelist
name: Acme::CPANModules::Whitelist
version: '0.002'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExtraTestFiles'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':PerlExecFiles'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':AllFiles'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':NoFiles'
version: '6.031'
-
class: Dist::Zilla::Plugin::FinderCode
name: '@Author::PERLANCAR/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
version: '6.031'
zilla:
class: Dist::Zilla::Dist::Builder
config:
is_trial: 0
version: '6.031'
x_authority: cpan:PERLANCAR
x_contributors:
- 'mauke <lukasmai.403@gmail.com>'
- 'Michal Sedlák <sedlakmichal@gmail.com>'
- 'Steven Haryanto <stevenharyanto@gmail.com>'
- 'Steven Haryanto <steven@masterweb.net>'
- 'Szymon Nieznański <s.nez@member.fsf.org>'
x_generated_by_perl: v5.38.2
x_serialization_backend: 'YAML::Tiny version 1.74'
x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
x_static_install: 1