From owner-freebsd-bugs Thu Dec 9 2: 0:12 1999 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 809B7155CD for ; Thu, 9 Dec 1999 02:00:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id CAA46997; Thu, 9 Dec 1999 02:00:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from dream.mplik.ru (dream.mplik.ru [195.58.1.132]) by hub.freebsd.org (Postfix) with ESMTP id 247D414A0D for ; Thu, 9 Dec 1999 01:51:12 -0800 (PST) (envelope-from nsh@dream.mplik.ru) Received: (from nsh@localhost) by dream.mplik.ru (8.9.3/8.9.3) id OAA38153; Thu, 9 Dec 1999 14:50:52 +0500 (YEKT) (envelope-from nsh) Message-Id: <199912090950.OAA38153@dream.mplik.ru> Date: Thu, 9 Dec 1999 14:50:52 +0500 (YEKT) From: Nikita Shamgunov Reply-To: nsh@dream.mplik.ru To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: bin/15370: bug in sort Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 15370 >Category: bin >Synopsis: bug in sort >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Dec 9 02:00:01 PST 1999 >Closed-Date: >Last-Modified: >Originator: Nikita Shamgunov >Release: FreeBSD 3.3-STABLE i386 >Organization: URAL RELCOM >Environment: perl locale KOI8-R >Description: Проблемы с сортировкой массивов русских слов без различений регистра. >How-To-Repeat: #!/usr/bin/perl use strict; use locale; use POSIX qw( locale_h ); setlocale( LC_ALL, 'KOI8-R' ); my @array; while( ) { next if( /^#/ ); s/\s*(\S+)\s*/$1/; push( @array, $_ ); } # # Если поставить эту строку то сортирует верно lc - в нижний регистр # my @array1 = sort {lc1($a) cmp lc1($b)} @array; # # # Неверно сортирует my @array1 = sort {lc($a) cmp lc($b)} @array; # Выводим результат print join( "\n", @array1 ); sub lc1 { my $str = shift; $str =~ tr/АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/абвгдежзиклмнопрстуфхцчшщъыьэюя/; return $str; } __DATA__ ДДТ Дистемпер Дельфин >Fix: >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message