This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to version.pm 0.71, by John Peacock
[perl5.git] / lib / locale.t
index 5d17797..c3a9d94 100644 (file)
@@ -52,7 +52,7 @@ my $last = $have_setlocale ? &last : &last_without_setlocale;
 
 print "1..$last\n";
 
-use vars qw(&LC_ALL);
+sub LC_ALL ();
 
 $a = 'abc %';
 
@@ -399,6 +399,17 @@ if (-x "/usr/bin/locale" && open(LOCALES, "/usr/bin/locale -a 2>/dev/null|")) {
         trylocale($_);
     }
     close(LOCALES);
+} elsif ($^O eq 'openbsd' && -e '/usr/share/locale') {
+
+   # OpenBSD doesn't have a locale executable, so reading /usr/share/locale
+   # is much easier and faster than the last resort method.
+
+    opendir(LOCALES, '/usr/share/locale');
+    while ($_ = readdir(LOCALES)) {
+        chomp;
+        trylocale($_);
+    }
+    close(LOCALES);
 } else {
 
     # This is going to be slow.
@@ -438,9 +449,9 @@ if (-x "/usr/bin/locale" && open(LOCALES, "/usr/bin/locale -a 2>/dev/null|")) {
 setlocale(LC_ALL, "C");
 
 if ($^O eq 'darwin') {
-    # Darwin 8/Mac OS X 10.4 has bad Catalan locales: perl bug #35895,
+    # Darwin 8/Mac OS X 10.4 has bad Basque locales: perl bug #35895,
     # Apple bug ID# 4139653. It also has a problem in Byelorussian.
-    if ($Config{osvers} ge '8' and $Config{osvers} le '8.3.0') {
+    if ($Config{osvers} ge '8' and $Config{osvers} lt '9') {
        debug "# Skipping eu_ES, be_BY locales -- buggy in Darwin\n";
        @Locale = grep ! m/^(eu_ES|be_BY.CP1131$)/, @Locale;
     }