|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexander Babanov 2:5020/1978.3 18 Oct 2000 07:05:37 To : Andrey Lastochkin Subject : Re: sort -------------------------------------------------------------------------------- Юґullo Andrey! AB>> "Винды" бывают разные, объем свободной памяти в системе тоже. AL> забыл сказать что величина @process не превышает 10, то есть весь AL> массив не может _физически_ занимать в памяти больше 1 килобайта Так лучше :) AL>>> и сортирует неправильно AB>> Попробуй @$a[0] cmp @$b[0] AL> это как еще??? Тебе надо отсортировать массив @process, где каждый элемент является массивом, по нулевому элементу, так? $a и $b - это два сравниваемых элемента @process, т.е. @$a[0] и @$b[0] должны дать то, что надо. AB>> и RTFM на sort. AL> читал я, поэтому и спрашиваю, что не понял! Hу, не знаю... Вот, например, что я оттуда выкопал, когда здесь просили отсортировать строки с полями. Система та же, т.к. вначале каждая строка разбивается в массив подстрок. >>>>>>>>>>>>>>>>>>> Begin of sortlines.pl <<<<<<<<<<<<<<<<<<< #perl @lines = ( 'ptizza:3456:34:56', 'pizza:1234:34:234', qq/opan'ki:0:0:0/, 'ptizza:3456:43:56', 'murka:1:3:1', 'murka:1:2:7', qq/opan'ki:0:0:0/, 'murka:1:2:5' ); $fields = 4; @lines = map { $_->[0] } sort { if(not ($cmp = @$a[1] cmp @$b[1])) { for($i = 1; $i <= $fields and not ($cmp = @$a[$i+1] <=> @$b[$i+1]); $i++) {}; } $cmp; } map { [$_, split /:/] } @lines; foreach $line (@lines) { print $line, "\n"; }; >>>>>>>>>>>>>>>>>>>> End of sortlines.pl <<<<<<<<<<<<<<<<<<<< CYa!!! ЪДВїЪДВВВДДДщщъъ ЪДВВВДї ЪїЪДВДДДДДДДДщщъъ ЪДДДД 2:5020/1978.3 ДДДДї іВіАґДЕ ґBabanov іВі ґВі іАґВіST BERSERKER і babanov@earthlink.net і ... Еще наше поколение будет жить при Виагре! [предп. из писем Ильича к HКК] --- * Origin: Our governor can beat up your governor! (2:5020/1978.3) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/400239ed94db.html, оценка из 5, голосов 10
|