{"schema_version":1,"metadata":{"branch":"release","release":"8.0","architecture":"amd64","generated_at":"2026-10-21T02:35:53.703506+00:00","source_url":"https://cdn.openbsd.org/pub/OpenBSD/8.0/packages/amd64/sqlports-7.55.tgz","source_sha256":"393d2bd6f5b23c8ba1809ec63f3e8310d7787d329b7350089609a078eb01a387","package_count":12098,"source_kind":"sqlports"},"package":{"name":"p5-Eval-Closure-0.14p0","path":"devel/p5-Eval-Closure","url":"/packages/release/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","description_source":null,"description_unresolved":[],"package_architecture":"*","stem":"p5-Eval-Closure","readme":null,"dependencies":[{"path":"devel/p5-Try-Tiny","type":"runtime","package_spec":"","url":"/packages/release/devel/p5-Try-Tiny/"},{"path":"devel/p5-PadWalker","type":"test","package_spec":"","url":"/packages/release/devel/p5-PadWalker/"},{"path":"devel/p5-Test-Fatal","type":"test","package_spec":"","url":"/packages/release/devel/p5-Test-Fatal/"},{"path":"devel/p5-Test-Output","type":"test","package_spec":"","url":"/packages/release/devel/p5-Test-Output/"},{"path":"devel/p5-Test-Requires","type":"test","package_spec":"","url":"/packages/release/devel/p5-Test-Requires/"},{"path":"devel/p5-Try-Tiny","type":"test","package_spec":"","url":"/packages/release/devel/p5-Try-Tiny/"}],"reverse_dependencies":{"count":8,"url":"/packages/data/5f/5f6de1e7abb5969b01659eeb651b06343ef3bf6a039b2702a6e49bab6452e93c.json"},"categories":["devel","perl5"],"flavors":[],"only_for_architectures":[],"not_for_architectures":[]}}
