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 )