1N/A#!./perl
1N/A
1N/ABEGIN {
1N/A chdir 't';
1N/A @INC = '../lib';
1N/A require './test.pl';
1N/A}
1N/A
1N/Aprint "1..7\n";
1N/A
1N/A{
1N/A package TieAll;
1N/A # tie, track, and report what calls are made
1N/A my @calls;
1N/A sub AUTOLOAD {
1N/A for ($AUTOLOAD =~ /TieAll::(.*)/) {
1N/A if (/TIE/) { return bless {} }
1N/A elsif (/calls/) { return join ',', splice @calls }
1N/A else {
1N/A push @calls, $_;
1N/A # FETCHSIZE doesn't like undef
1N/A # if FIRSTKEY, see if NEXTKEY is also called
1N/A return 1 if /FETCHSIZE|FIRSTKEY/;
1N/A return;
1N/A }
1N/A }
1N/A }
1N/A}
1N/A
1N/Atie $x, 'TieAll';
1N/Atie @x, 'TieAll';
1N/Atie %x, 'TieAll';
1N/A
1N/A{our $x;}
1N/Ais(TieAll->calls, '', 'our $x has no runtime effect');
1N/A
1N/A{our ($x);}
1N/Ais(TieAll->calls, '', 'our ($x) has no runtime effect');
1N/A
1N/A{our %x;}
1N/Ais(TieAll->calls, '', 'our %x has no runtime effect');
1N/A
1N/A{our (%x);}
1N/Ais(TieAll->calls, '', 'our (%x) has no runtime effect');
1N/A
1N/A{our @x;}
1N/Ais(TieAll->calls, '', 'our @x has no runtime effect');
1N/A
1N/A{our (@x);}
1N/Ais(TieAll->calls, '', 'our (@x) has no runtime effect');
1N/A
1N/A
1N/A$y = 1;
1N/A{
1N/A my $y = 2;
1N/A {
1N/A our $y = $y;
1N/A is($y, 2, 'our shouldnt be visible until introduced')
1N/A }
1N/A}