BSD Ports

devel/p5-autovivification 0.18_1 DragonFly

Lexically disable autovivification

System
DragonFly
Repository
DPorts
Maintainer
[email protected] (as in FreeBSD)
License
MIT
Categories
devel, perl5
Package size
17.1 KiB, 36.0 KiB installed

Description

When an undefined variable is dereferenced, it gets silently upgraded to an array or hash reference (depending of the type of the dereferencing). This behaviour is called autovivification and usually does what you mean (e.g. when you store a value) but it may be unnatural or surprising because your variables gets populated behind your back. This is especially true when several levels of dereferencing are involved, in which case all levels are vivified up to the last, or when it happens in intuitively read-only constructs like exists.

This pragma lets you disable autovivification for some constructs and optionally throws a warning or an error when it would have happened.

In the other systems

The newest version among them is 0.18, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
DragonFlydevel/p5-autovivification0.18_1 newestnone known-[email protected]-
FreeBSDdevel/p5-autovivification0.18_1 newestnone known-[email protected]-
NetBSDdevel/p5-autovivification0.18nb9 newestnone known-[email protected]2026-07-16
HardenedBSDdevel/p5-autovivification0.18_1 newestno data-[email protected]-
GhostBSDdevel/p5-autovivification0.18_1 newestno data-[email protected]-

Compare across BSDs

Install

Binary package:

pkg install p5-autovivification

From DPorts:

cd /usr/dports/devel/p5-autovivification && make install clean

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

Run dependencies 1