1use strict; 2use warnings; 3use Test::More 0.88; 4 5sub class { $_[0]->(); } 6 7sub handle_class { 8 my ($usepack, $use, $inpack, $name, $proto, $is_block) = @_; 9 return (sub (&) { shift; }, undef, "package ${name};"); 10} 11 12use Devel::Declare; 13use Devel::Declare 'class' => [ DECLARE_PACKAGE, \&handle_class ]; 14 15my $packname; 16 17class Foo::Bar { 18 $packname = __PACKAGE__; 19}; 20 21is($packname, 'Foo::Bar', 'Package saved ok'); 22is(__PACKAGE__, 'main', 'Package scoped correctly'); 23 24done_testing; 25