Perl6-Export-Attrs
view release on metacpan or search on metacpan
* Updated docs to note incompatibility with Memoize.pm
(thanks David)
* Included META files
(thanks Jarkko)
0.000005 Tue Nov 24 09:16:01 2015
* Added dependency for PadWalker
(thanks Dave!)
0.000006 Sat Feb 17 11:04:49 2018
* Fixed long-standing problem with named exports
(Thanks--and apologies--to Alex, Slaven, Karen, and especially Niko)
}
},
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"runtime" : {
"requires" : {
"Attribute::Handlers" : "0",
"PadWalker" : "0",
"Test::More" : "0",
"version" : "0"
}
}
},
"release_status" : "stable",
"version" : "0.000006"
}
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: Perl6-Export-Attrs
no_index:
directory:
- t
- inc
requires:
Attribute::Handlers: '0'
PadWalker: '0'
Test::More: '0'
version: '0'
version: '0.000006'
Makefile.PL view on Meta::CPAN
WriteMakefile(
NAME => 'Perl6::Export::Attrs',
AUTHOR => 'Damian Conway <DCONWAY@cpan.org>',
VERSION_FROM => 'lib/Perl6/Export/Attrs.pm',
ABSTRACT_FROM => 'lib/Perl6/Export/Attrs.pm',
PL_FILES => {},
PREREQ_PM => {
'Test::More' => 0,
'version' => 0,
'Attribute::Handlers' => 0,
'PadWalker' => 0,
},
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
clean => { FILES => 'Perl6-Export-Attrs-*' },
);
lib/Perl6/Export/Attrs.pm view on Meta::CPAN
package Perl6::Export::Attrs;
our $VERSION = '0.000006';
use warnings;
use strict;
use Carp;
use Attribute::Handlers;
use PadWalker qw( var_name peek_my );
my %IMPORT_for;
sub import {
my $caller = caller;
no strict 'refs';
*{$caller.'::import'} = \&_generic_import;
*{$caller.'::IMPORT'} = sub (&) { $IMPORT_for{$caller} = shift };
for my $var_type (qw( SCALAR ARRAY HASH CODE )) {
*{$caller.'::MODIFY_'.$var_type.'_ATTRIBUTES'} = \&_generic_handler;
( run in 0.821 second using v1.01-cache-2.11-cpan-05444aca049 )