/usr/share/doc/libvariable-magic-perl/examples
NameSizeModeActions
copy.pl3860755editdlrm
magic.pl6500755editdlrm
synopsis.pl8080755editdlrm
uvar.pl6430755editdlrm
vm_vs_tie.pl9570755editdlrm
Edit: /usr/share/doc/libvariable-magic-perl/examples/vm_vs_tie.pl (957B)
#!/usr/bin/perl use strict; use warnings; use Tie::Hash; use lib qw; use Variable::Magic qw; use Benchmark qw; die 'Your perl does not support the nice uvar magic of 5.10.*' unless VMG_UVAR; tie my %t, 'Tie::StdHash'; $t{a} = 1; my $wiz = wizard fetch => sub { 0 }, store => sub { 0 }, exists => sub { 0 }, delete => sub { 0 }; my %v; cast %v, $wiz; $v{a} = 2; print "Using Variable::Magic ", $Variable::Magic::VERSION, "\n"; print "Fetch:\n"; cmpthese -1, { 'tie' => sub { $t{a} }, 'v::m' => sub { $v{a} } }; print "Store:\n"; cmpthese -1, { 'tie' => sub { $t{a} = 2 }, 'v::m' => sub { $v{a} = 2 } }; print "Exists:\n"; cmpthese -1, { 'tie' => sub { exists $t{a} }, 'v::m' => sub { exists $v{a} } }; print "Delete/store:\n"; cmpthese -1, { 'tie' => sub { delete $t{a}; $t{a} = 3 }, 'v::m' => sub { delete $v{a}; $v{a} = 3 } };