2a52f8d735
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. WWW: http://search.cpan.org/dist/lexical-underscore/
24 lines
508 B
Makefile
24 lines
508 B
Makefile
# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= lexical-underscore
|
|
PORTVERSION= 0.001
|
|
CATEGORIES= devel perl5
|
|
MASTER_SITES= CPAN
|
|
MASTER_SITE_SUBDIR= CPAN:TOBYINK
|
|
PKGNAMEPREFIX= p5-
|
|
|
|
MAINTAINER= sunpoet@FreeBSD.org
|
|
COMMENT= Access lexical underscore of your caller
|
|
|
|
LICENSE= ART10 GPLv1
|
|
LICENSE_COMB= dual
|
|
|
|
BUILD_DEPENDS= p5-PadWalker>=0:${PORTSDIR}/devel/p5-PadWalker
|
|
RUN_DEPENDS:= ${BUILD_DEPENDS}
|
|
|
|
PERL_CONFIGURE= yes
|
|
|
|
MAN3= lexical::underscore.3
|
|
|
|
.include <bsd.port.mk>
|