print "1..5\n"; use strict; use Array::RefElem qw(av_store av_push hv_store); my $a = "a"; my @a = (1, 2, 3, 4); av_store(@a, 1, $a); av_push(@a, $a); print "not " unless "@a" eq "1 a 3 4 a"; print "ok 1\n"; $a = 2; print "not " unless "@a" eq "1 2 3 4 2"; print "ok 2\n"; $a[1] = "z"; print "not " unless $a[4] eq "z"; print "ok 3\n"; my %h; hv_store(%h, "foo", $a); $h{foo} = "bar"; print "not " unless $a eq "bar"; print "ok 4\n"; $a[2] = [3]; av_store(@a, 2, $a[2][0]); print "not " unless $a[2] == 3; print "ok 5\n"; if (shift) { require Devel::Peek; Devel::Peek::Dump($a); Devel::Peek::Dump(\@a); Devel::Peek::Dump(\%h); }