]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blobdiff - samples/uvar.pl
Importing Variable-Magic-0.08.tar.gz
[perl/modules/Variable-Magic.git] / samples / uvar.pl
index 6620aec4f8952bb9213980796a768c25ba7aa6ea..3a968ec93c298094126f7936d14249c0f10dbe87 100755 (executable)
@@ -1,18 +1,27 @@
-#!/usr/bin/env perl
-
-use lib qw{blib/arch blib/lib};
+#!/usr/bin/perl
 
 use strict;
 use warnings;
 
-use Variable::Magic qw/wizard cast/;
-
-my $w = wizard map {
- my $s = $_; $s => sub { print STDERR "$s $_[2]!\n" }
-} qw/fetch store exists delete/;
-my %h;
-cast %h, $w;
-$h{'foo'} = 1;
-print STDERR "#", $h{'foo'}, "#\n";
-my $y = exists $h{'foo'};
-delete $h{'foo'};
+use lib qw{blib/arch blib/lib};
+use Variable::Magic qw/wizard getsig cast dispell/;
+
+my $wiz = wizard
+ fetch  => sub { print STDERR "$_[0] FETCH KEY $_[2]\n" },
+ store  => sub { print STDERR "$_[0] STORE KEY $_[2]\n" },
+ 'exists' => sub { print STDERR "$_[0] EXISTS KEY $_[2]\n" },
+ 'delete' => sub { print STDERR "$_[0] DELETE KEY $_[2]\n" };
+
+my %h = (foo => 1, bar => 2);
+cast %h, $wiz;
+
+print STDERR "foo was $h{foo}\n";
+$h{foo} = 3;
+print STDERR "now foo is $h{foo}\n";
+
+print STDERR "foo exists!\n" if exists $h{foo};
+
+my $d = delete $h{foo};
+print STDERR "foo deleted, got $d\n";
+
+dispell %h, $wiz;