1Test the API 2 3__END__ 4# NAME test feature enabled by bundle 5use feature (); 6BEGIN { 7 print "default: ", join(" ", feature::features_enabled(0)), "\n"; 8 print "unicode_strings ", feature::feature_enabled("unicode_strings", 0) ? "is" : "is not", 9 " enabled\n"; 10 print "bundle: ", feature::feature_bundle(0) // "undef", "\n"; 11} 12use v5.12; 13BEGIN { 14 print "5.12: ", join(" ", feature::features_enabled(0)), "\n"; 15 print "unicode_strings ", feature::feature_enabled("unicode_strings", 0) ? "is" : "is not", 16 " enabled\n"; 17 print "bundle: ", feature::feature_bundle(0) // "undef", "\n"; 18} 19EXPECT 20default: bareword_filehandles indirect multidimensional 21unicode_strings is not enabled 22bundle: default 235.12: bareword_filehandles indirect multidimensional say state switch unicode_strings 24unicode_strings is enabled 25bundle: 5.11 26######## 27# NAME test features enabled explicitly 28no feature "indirect"; 29BEGIN { 30 print "no feature indirect: ", join(" ", feature::features_enabled(0)), "\n"; 31 print "indirect ", feature::feature_enabled("indirect", 0) ? "is" : "is not", 32 " enabled\n"; 33 print "bundle: ", feature::feature_bundle(0) // "undef", "\n"; 34} 35use feature "unicode_strings"; 36BEGIN { 37 print "added unicode_strings: ", join(" ", feature::features_enabled(0)), "\n"; 38 print "unicode_strings ", feature::feature_enabled("unicode_strings", 0) ? "is" : "is not", 39 " enabled\n"; 40 print "bundle: ", feature::feature_bundle(0) // "undef", "\n"; 41} 42EXPECT 43no feature indirect: bareword_filehandles multidimensional 44indirect is not enabled 45bundle: undef 46added unicode_strings: bareword_filehandles multidimensional unicode_strings 47unicode_strings is enabled 48bundle: undef 49