#! perl use Test::More 0.89; local $SIG{__WARN__} = sub { fail("Got unexpected warning"); diag($_[0]) }; if ($] >= 5.010000) { is (eval <<'END', 1, 'lexical topic compiles') or diag $@; use experimental 'lexical_topic'; my $_ = 1; is($_, 1, '$_ is 1'); END } else { fail("No experimental features available on perl $]"); } if ($] >= 5.010001) { is (eval <<'END', 1, 'smartmatch compiles') or diag $@; use experimental 'smartmatch'; sub bar { 1 }; is(1 ~~ \&bar, 1, "is 1"); END } if ($] >= 5.018) { is (eval <<'END', 1, 'lexical subs compiles') or diag $@; use experimental 'lexical_subs'; my sub foo { 1 }; is(foo(), 1, "foo is 1"); 1; END } done_testing;