18 sub TIESCALAR { bless [] }
19 sub FETCH { $c++ ? "next" : "first" }
22 # This test makes sure that we can't pull a fast one on study(). If we
23 # study() a tied variable, perl should know that the studying isn't
24 # valid on subsequent references, and should account for it.
26 for my $do_study qw( 0 1 ) {
33 pass( "Studying..." );
36 pass( "Not studying..." );
39 # When it was studied (or first_fetched), $x was "first", but is now "next", so
40 # should not match /f/.
41 ok( $x !~ /f/, qq{"next" doesn't match /f/} );
42 is( index( $x, 'f' ), -1, qq{"next" doesn't contain "f"} );
44 # Subsequent references to $x are "next", so should match /n/
45 ok( $x =~ /n/, qq{"next" matches /n/} );
46 is( index( $x, 'n' ), 0, qq{"next" contains "n" at pos 0} );
48 # The letter "t" is in both, but in different positions
49 ok( $x =~ /t/, qq{"next" matches /t/} );
50 is( index( $x, 't' ), 3, qq{"next" contains "t" at pos 3} );