X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=samples%2Fmagic.pl;h=3fc8a8f48c621fee98bc6ce523a31b7c3e51f3d7;hb=HEAD;hp=b1765992267acbcb84e1f746c4bbf4e1cee73a17;hpb=77a84f75f33e3ee44e61182dec76699e23025375;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/samples/magic.pl b/samples/magic.pl index b176599..3fc8a8f 100755 --- a/samples/magic.pl +++ b/samples/magic.pl @@ -1,31 +1,26 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use strict; use warnings; -use lib qw{blib/arch blib/lib}; -use Variable::Magic qw/wizard getsig cast dispell/; +use lib qw; +use Variable::Magic qw; -sub foo { print STDERR "got $_[0]!\n" } -my $bar = sub { ++$_[0]; print STDERR "now set to $_[0]!\n"; }; +sub foo { print STDERR "got ${$_[0]}!\n" } +my $bar = sub { ++${$_[0]}; print STDERR "now set to ${$_[0]}!\n"; }; my $a = 1; -my $sig; { my $wiz = wizard get => \&foo, set => $bar, - free => sub { print STDERR "deleted!\n"; }; - $sig = getsig $wiz; - print "my sig is $sig\n"; - cast $a, $wiz; + free => sub { print STDERR "deleted!\n"; }; + cast $a, $wiz, qw; ++$a; # "got 1!", "now set to 3!" dispell $a, $wiz; cast $a, $wiz; my $b = 123; cast $b, $wiz; -} # "got 123!", "deleted!" +} # "deleted!" my $b = $a; # "got 3!" $a = 3; # "now set to 4!" $b = 3; # (nothing) -dispell $a, $sig; -$a = 4; # (nothing)