|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexander Babanov 2:5020/1978.3 29 Aug 2000 19:07:10 To : Dmitry Tyutyunnikov Subject : Re: help -------------------------------------------------------------------------------- APT>> Заннеси весь файл в массив и делай там с ним что хочешь, как хочешь и APT>> сколько хочешь. DT> вообще вроде как уже надумал, но получается как-то через /dev/ass :) DT> split, меняем первый с полем которое нужно отсортировать, потом join, DT> все сортируем, обратная перестановка, split и вывод (который кстати DT> завязан на номерах элементов массива) И вовсе не зачем все через /dev/arse ;) Берем доку по sort и копируем примерчик почти ничего не меняя: >>>>>>>>>>>>>>>>>>> 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 <<<<<<<<<<<<<<<<<<<< ЗЫ: Кстати, буду очень благодарен, если кто поможет из связки for/if убрать хвосты моей нелегкой сишной наследственности =8) CYa!!! ЪДВїЪДВВВДДДщщъъ ЪДВВВДї ЪїЪДВДДДДДДДДщщъъ ЪДДДД 2:5020/1978.3 ДДДДї іВіАґДЕ ґBabanov іВі ґВі іАґВіST BERSERKER і babanov@earthlink.net і ... "I'll be back!" / (c) B-) --- * Origin: Our governor can beat up your governor! (2:5020/1978.3) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/400239ac5141.html, оценка из 5, голосов 10
|