print "1..$last\n";
-use vars qw(&LC_ALL);
+sub LC_ALL ();
$a = 'abc %';
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.
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;
}