FreeBSD.software
Home/devel/p5-lexical-underscore

p5-lexical-underscore

0.004devel

Access lexical underscore of your caller

Starting with Perl 5.10, it is possible to create a lexical version of the Perl default variable $_. Certain Perl constructs like the given keyword automatically use a lexical $_ rather than the global $_. It is occasionallly useful for a sub to be able to access its caller's $_ variable regardless of whether it was lexical or not. The (_) sub prototype is the official way to do so, however there are sometimes disadvantages to this; in particular it can only appear as the final required argument in a prototype, and there is no way of the sub differentiating between an explicitly passed argument and $_. The lexical::underscore function returns a scalar reference to either a lexical $_ variable somewhere up the call stack (using PadWalker magic), or to the global $_ if there was no lexical version. Wrapping lexical::underscore in ${ ... } dereferences the scalar reference, allowing you to access (and even assign to) it.

$pkg install p5-lexical-underscore
metacpan.org/release/lexical-underscore
Origin
devel/p5-lexical-underscore
Size
42.4KiB
License
ART10, GPLv1+
Maintainer
sunpoet@FreeBSD.org
Dependencies
2 packages
Required by
1 packages

Dependencies (2)

Required By (1)