{"schema_version":1,"metadata":{"branch":"current","release":"7.9","architecture":"amd64","generated_at":"2026-09-09T04:04:41.004595+00:00","source_url":"https://cdn.openbsd.org/pub/OpenBSD/snapshots/packages/amd64/sqlports-7.55.tgz","source_sha256":"fcdbba1b9df747882aa9bab4af20ebec8dac10655069c90f1cd4145c06e1235e","package_count":12031,"source_kind":"sqlports"},"package":{"name":"p5-Eval-Closure-0.14p0","path":"devel/p5-Eval-Closure","url":"/packages/current/devel/p5-Eval-Closure/","comment":"safely and cleanly create closures via string eval ","homepage":"https://metacpan.org/release/Eval-Closure","maintainer":"The OpenBSD ports mailing-list <ports@openbsd.org>","description":"String eval is often used for dynamic code generation. For instance,\nMoose uses it heavily, to generate inlined versions of accessors and\nconstructors, which speeds code up at runtime by a significant amount.\nString eval is not without its issues however - it's difficult to\ncontrol the scope it's used in (which determines which variables are in\nscope inside the eval), and it's easy to miss compilation errors, since\neval catches them and sticks them in $@ instead.\n\nThis module attempts to solve these problems. It provides an\neval_closure function, which evals a string in a clean environment,\nother than a fixed list of specified variables. Compilation errors are\nrethrown automatically.\n","package_architecture":"*","stem":"p5-Eval-Closure","readme":null,"dependencies":[{"path":"devel/p5-Try-Tiny","type":"runtime","package_spec":"","url":"/packages/current/devel/p5-Try-Tiny/"},{"path":"devel/p5-PadWalker","type":"test","package_spec":"","url":"/packages/current/devel/p5-PadWalker/"},{"path":"devel/p5-Test-Fatal","type":"test","package_spec":"","url":"/packages/current/devel/p5-Test-Fatal/"},{"path":"devel/p5-Test-Output","type":"test","package_spec":"","url":"/packages/current/devel/p5-Test-Output/"},{"path":"devel/p5-Test-Requires","type":"test","package_spec":"","url":"/packages/current/devel/p5-Test-Requires/"},{"path":"devel/p5-Try-Tiny","type":"test","package_spec":"","url":"/packages/current/devel/p5-Try-Tiny/"}],"reverse_dependencies":{"count":8,"url":"/packages/data/16/1632f643ee947a9c703545b425d098d6f81769a6f66cb651f262f2a9e8916fce.json"},"categories":["devel","perl5"],"flavors":[],"only_for_architectures":[],"not_for_architectures":[]}}
