Acme-Study-OS-DateLocales
view release on metacpan or search on metacpan
DateLocales.pm view on Meta::CPAN
return "$prog.exe" if (-f "$prog.exe" && -x "$prog.exe");
return "$prog.cmd" if (-f "$prog.cmd" && -x "$prog.cmd");
} else {
return $prog if -f $prog and -x $prog;
}
}
require Config;
%Config::Config = %Config::Config if 0; # cease -w
my $sep = $Config::Config{'path_sep'} || ':';
foreach (split(/$sep/o, $ENV{PATH})) {
if ($^O eq 'MSWin32') {
# maybe use $ENV{PATHEXT} like maybe_command in ExtUtils/MM_Win32.pm?
return "$_\\$prog" if (-f "$_\\$prog" && -x "$_\\$prog");
return "$_\\$prog.bat" if (-f "$_\\$prog.bat" && -x "$_\\$prog.bat");
return "$_\\$prog.com" if (-f "$_\\$prog.com" && -x "$_\\$prog.com");
return "$_\\$prog.exe" if (-f "$_\\$prog.exe" && -x "$_\\$prog.exe");
return "$_\\$prog.cmd" if (-f "$_\\$prog.cmd" && -x "$_\\$prog.cmd");
} else {
return "$_/$prog" if (-x "$_/$prog" && !-d "$_/$prog");
}
}
undef;
}
# REPO END
1;
__END__
=head1 NAME
Acme::Study::OS::DateLocales - study date-specific locales
=head1 SYNOPSIS
None. Just run the Pod.
=head1 DESCRIPTION
This module misuses the CPAN testers system to study the result of
date-specific locale operations. Some of the questions to answer:
=over
=item Can we rely on the fact that the locale implementation will
return "bytes" in the given charset (encoding)?
=item Is the %OB extension of L<POSIX/strftime> supported?
=back
The results make me believe that one should not use POSIX-based
locales for dates, but rather use L<DateTime::Locale>.
=head2 RESULTS
* Solaris 10:
* does not understand %OB
* %B seems to return the genitive form
* the "short" locale names seem to link to the non-utf8 forms (iso-8859-1 or so)
* encoding seems to match the locale charset
* all Serbian variants are cyrillic
* FreeBSD 6.2, 7.0, 7.2:
* understands %OB, which is usually the nominative form of month names
* %B has the genitive form (modulo bugs, see the Croatian locale)
* encoding matches the locale charset
* the ISO8859-2 variant of Serbian is latin, all others are cyrillic
* it seems that all of locales are installed by default
* Linux (debian lenny):
* does not understand %OB
* encoding seems to match the locale charset
* Linux (debian etch):
* does not understand %OB
* %B returns the nominative form (at least for Croatian)
* encoding seems to match the locale charset
* the "short" locale names seem to link to the non-utf8 forms (iso-8859-1 or so)
* Linux (s390x-linux):
* does not understand %OB
* %B returns the nominative form (at least for Bosnian and Czech)
* the @euro form seems to be the same like the "short" locale (that is, iso-8859-15 or so)
* OpenBSD 4.5:
* does not seem to have the "locales -a" command, so only the default locale was tested
* understands %OB, contents (genitive vs. nominative) unclear
* Darwin 8:
* understands %OB, and seems to have the same bugs as the FreeBSD version
(Croatian locale)
* encoding matches the locale charset
* the ISO8859-2 variant of Serbian is latin, all others are cyrillic
* it seems that all of locales are installed by default
* MSWin32:
* does not understand %OB
* cygwin:
* does not seem to have the "locales -a" command, so only the default locale was tested
* understands %OB, contents (genitive vs. nominative) unclear
* irix 6.5:
* does not understand %OB
* does not have utf-8 locales, but iso-8859-15 locales
* the non-latin-1 locales (latin2, russian) don't have an encoding spec in its
locale name, so detecting the encoding must be done through an heuristic
=head1 AUTHOR
Slaven Rezic.
=head1 SEE ALSO
L<Acme::Study::Perl>.
=cut
( run in 0.895 second using v1.01-cache-2.11-cpan-39bf76dae61 )