Mon, 09 Nov 2026 16:50:10 UTC Log in
Dynamic generation of nested combinations 36.70 KB built 2026-10-16 18:29:22 GMT

Description

The tumble() method calls a sequence of 'provider' code references, each of which returns a hash. The first provider is called and then, for each hash item it returns, the tumble() method recurses to call the next provider. The recursion continues until there are no more providers to call, at which point the consumer code reference is called. Effectively the providers create a tree of combinations and the consumer is called at the leaves of the tree. If a provider returns no items then that part of the tree is pruned. Further providers, if any, are not called and the consumer is not called. During a call to tumble() three values are passed down through the tree and into the consumer: path, context, and payload. The path and context are derived from the names and values of the hashes returned by the providers. Typically the path defines the current "path" through the tree of combinations. The providers are passed the current path, context, and payload. The payload is cloned at each level of recursion so that any changes made to it by providers are only visible within the scope of the generated sub-tree.

Dependencies

18 total
Requires17
  • coreutils
  • findutils
  • make
  • perl(Carp)
  • perl(Data::Dumper)
  • perl(ExtUtils::MakeMaker)
  • perl(List::Util)
  • perl(Storable)
  • perl(Test::More) >= 0.88
  • perl(Test::Most) >= 0.11
  • perl(Time::HiRes)
  • perl(strict)
  • perl(warnings)
  • perl-generators
  • perl-interpreter
  • rpmlib(CompressedFileNames) <= 3.0.4-1
  • rpmlib(FileDigests) <= 4.6.0-1
Provides1
  • perl-Data-Tumbler = 0.010-33.fc45
ObsoletesNo Obsoletes
ConflictsNo Conflicts
RecommendsNo Recommends
SuggestsNo Suggests
SupplementsNo Supplements
EnhancesNo Enhances

Files

2
Files 1–2 of 2

Component of

buildroots that installed this RPM

No Buildroots