1#!./parrot-nqp 2 3# Tests for contextual variables 4 5plan(6); 6 7sub foo() { $*VAR } 8 9{ 10 my $*VAR := 'abc'; 11 ok($*VAR eq 'abc', 'basic contextual declaration works'); 12 ok(foo() eq 'abc', 'called subroutine sees caller $*VAR'); 13 14 sub bar() { $*VAR } 15 16 ok(bar() eq 'abc', 'called subroutine sees caller $*VAR'); 17 18 19 20 { 21 my $*VAR := 'def'; 22 ok( $*VAR eq 'def', 'basic nested contextual works'); 23 ok( foo() eq 'def', 'called subroutine sees caller $*VAR'); 24 ok( bar() eq 'def', 'called subroutine sees caller not outer'); 25 } 26} 27 28 29