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.
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.
To install p5.32-autovivification, run the following command in macOS terminal (Applications->Utilities->Terminal)
sudo port install p5.32-autovivification
To see what files were installed by p5.32-autovivification, run:
port contents p5.32-autovivification
To later upgrade p5.32-autovivification, run:
sudo port selfupdate && sudo port upgrade p5.32-autovivification
Reporting an issue on MacPorts Trac
The MacPorts Project uses a system called Trac to file tickets to report bugs and enhancement requests.
Though anyone may search Trac for tickets, you must have a GitHub account in order to login to Trac to create tickets.