Živijo,

uporabljam Mac OS X in

> locale
LANG="sl_SI.UTF-8"
LC_COLLATE="sl_SI.UTF-8"
LC_CTYPE="sl_SI.UTF-8"
LC_MESSAGES="sl_SI.UTF-8"
LC_MONETARY="sl_SI.UTF-8"
LC_NUMERIC="sl_SI.UTF-8"
LC_TIME="sl_SI.UTF-8"
LC_ALL="sl_SI.UTF-8"

Vse običajno GNU programje, ki sem si ga naložila, tole upošteva
(beri: wget mi vrača opozorila o napakah v slovenščini ipd.; sicer je
res, da je to gnu programje prišlo z MacPorts-i), medtem ko "man sort"
pravi

       ***  WARNING *** The locale specified by the environment
affects sort order.  Set LC_ALL=C to
       get the traditional sort order that uses native byte values.

toda "cat datoteka-z-imeni.txt | sort" gladko ignorira slovenske znake
in jih porine na konec (kodirani so v UTF-8).

Zares me zanima sortiranje v Perlu, vendar nekako sumim, da perl kliče
katero od sistemskih knjižnic, zato me zanima tudi, zakaj sort v
terminalu ne deluje. (Ga samo jaz ne znam uporabljati ali je na Mac-u
namenoma onemogočen locale?)

Moj perl eksperiment daje dokaj borne rezultate:

use encoding 'utf8';
use locale;
use POSIX qw(locale_h);
use warnings;
use strict;

setlocale(LC_ALL, "sl_SI.UTF-8");

my @sorttest = qw(cd ab ča št de tu si);
@sorttest = sort(@sorttest);

foreach my $a ( @sorttest ) {
    print "$a\n";
}


ab
cd
de
si
tu
ča
št

Ima kdo kakšno idejo?

Hvala,
   Mojca
_______________________________________________
lugos-slo mailing list
[email protected]
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-slo

Одговори путем е-поште