5 use Variable::Magic qw(wizard cast);
7 BEGIN { package Foo; sub DESTROY { warn "in DESTROY\n"; } }
9 my $wiz = wizard data => sub { $_[1] },
10 free => sub { warn "destroyed $_[1]!\n"; };
21 cast $foo, $wiz, '$foo';
22 cast %foo, $wiz, '%foo';
33 cast $foo, $wiz, '$foo';
35 cast %foo, $wiz, '%foo';
46 cast %foo, $wiz, '%foo';
52 cast $foo, $wiz, '$foo';
56 warn "End of block\n";