Hash-MultiKey

 view release on metacpan or  search on metacpan

t/06each.t  view on Meta::CPAN

while (my ($mk, $v) = each %hmk) {
    is_deeply($hmk{$mk}, $v, "each all: list context");
}

# each in scalar context
my $i = 0;
while (my $mk = each %hmk) {
    ++$i;
    ok(exists $hmk{$mk}, 'each all: scalar context');
}
is(scalar(keys %hmk), $i, 'each all: number of iterations');

foreach (0..$#mk) {
    delete $hmk{$mk[$_]};
    while (my ($mk, $v) = each %hmk) {
        is_deeply($hmk{$mk}, $v, "each $i: @$mk");
    }
}

# initialize %hmk again
$hmk{$mk[$_]} = $v[$_] foreach 0..$#mk;

t/13s_each.t  view on Meta::CPAN

while (my ($mk, $v) = each %hmk) {
    is_deeply($hmk{$mk}, $v, "each all: list context");
}

# each in scalar context
my $i = 0;
while (my $mk = each %hmk) {
    ++$i;
    ok(exists $hmk{$mk}, 'each all: scalar context');
}
is(scalar(keys %hmk), $i, 'each all: number of iterations');

foreach my $i (0..$#mk) {
    delete $hmk{[join $;, @{$mk[$i]}]};
    while (my ($mk, $v) = each %hmk) {
        is_deeply($hmk{$mk}, $v, "each $i: @$mk");
    }
}

# deletion of the last element must be safe
while (my ($mk, $v) = each %hmk) {



( run in 1.005 second using v1.01-cache-2.11-cpan-71847e10f99 )