Perl6-Export-Attrs

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


    * 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)

META.json  view on Meta::CPAN

         }
      },
      "configure" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "Attribute::Handlers" : "0",
            "PadWalker" : "0",
            "Test::More" : "0",
            "version" : "0"
         }
      }
   },
   "release_status" : "stable",
   "version" : "0.000006"
}

META.yml  view on Meta::CPAN

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.344 second using v1.01-cache-2.11-cpan-05444aca049 )