Acme-Perl-VM

 view release on metacpan or  search on metacpan

t/08_array.t  view on Meta::CPAN

$x = run_block{
    my @a = (10, 20, 30);
    return $a[1];
};
is $x, 20;

$x = run_block{
    my @a = (10);
    $a[0] += 10;
    return $a[0];
};
is $x, 20;

$x = run_block{
    my @a = (10);
    my $i = 0;
    return $a[$i];
};
is $x, 10;

$x = run_block{
    my @a = (10);
    my $i = 0;
    $a[$i] += 10;
    return $a[$i];
};
is $x, 20;

our @gary = qw(foo bar);

$x = run_block{
    @gary;
};
is $x, 2;

@ary = run_block{
    @gary;
};
is_deeply \@ary, \@gary;

$x = run_block{
    $gary[0] .= 'x';
    return $gary[0];
};
is $x,       'foox';
is $gary[0], 'foox';

$x = run_block{
    my $i = 1;
    $gary[$i] .= 'x';
    return $gary[$i];
};
is $x,       'barx';
is $gary[1], 'barx';

@ary = run_block{
    my @a = ();
    $a[1] = 10;
    return @a;
};
is_deeply \@ary, [undef, 10];

sub f{
    my @a;
    $a[0]++;
    return $a[0];
}

is run_block(\&f), 1;
is run_block(\&f), 1;

is_deeply \@PL_stack,      [], '@PL_stack is empty';
is_deeply \@PL_markstack,  [], '@PL_markstack is empty';
is_deeply \@PL_scopestack, [], '@PL_scopestack is empty';
is_deeply \@PL_cxstack,    [], '@PL_cxstack is empty';
is_deeply \@PL_savestack,  [], '@PL_savestack is empty';
is_deeply \@PL_tmps,       [], '@PL_tmps is empty';



( run in 1.462 second using v1.01-cache-2.11-cpan-d80b1682f3f )