8 plan skip_all => 'This module is a no-op on perls earlier than 5.010' if "$]" < 5.010000;
10 local $SIG{__WARN__} = sub { fail("Got unexpected warning"); diag($_[0]) };
13 is (eval <<'END', 1, 'state compiles') or diag $@;
14 use experimental 'state';
16 is($foo, 1, '$foo is 1');
22 is (eval <<'END', 1, 'switch compiles') or diag $@;
23 use experimental 'switch';
27 pass("bar matches 1");
30 fail("bar matches 1");
38 is (eval <<'END', 1, 'smartmatch compiles') or diag $@;
39 use experimental 'smartmatch';
41 is(1 ~~ \&baz, 1, "is 1");
47 is (eval <<'END', 1, 'lexical subs compiles') or diag $@;
48 use experimental 'lexical_subs';
50 is(foo(), 1, "foo is 1");
56 is (eval <<'END', 1, 'declared refs compiles') or diag $@;
57 use experimental 'declared_refs';
60 is(\@a, \@b, '@a and @b are the same after \@a=\@b');
64 elsif ($] >= 5.021005) {
65 is (eval <<'END', 1, 'ref aliasing compiles') or diag $@;
66 use experimental 'refaliasing';
69 is(\@a, \@b, '@a and @b are the same after \@a=\@b');