Forum Webscript.Ru

Программирование => Perl => Тема начата: Yaroslav от 27 Августа 2003, 12:01:24

Название: и опять sort
Отправлено: Yaroslav от 27 Августа 2003, 12:01:24
что то лыжи не едут.....
цель - находятся файлы с расширением (\'*.tip *.diz *.rek\')
если строка 13 не пустая - загоняем в @spisok.
проблемма отсортировать все это.

while ( defined($filename = glob(\'*.tip *.diz *.rek\')) ) {
open (WORDSLIST, $filename);
@file=;
chomp ($file[13]);
if ("$file[13]" ne \'\') { @spisok="@spisok $file[13]"; }
else { next; }
}
#@spisok = sort @spisok;                             неработает
#@spisok = sort { $a <=> $b } @spisok;       неработает
#@by_sym= sort {$a<=>$b} @spisok;          неработает
#@by_num= sort {$a<=>$b} @spisok;          неработает
#@spisok = sort $age <=> $age @spisok;      неработает
print "@spisok";
Название: и опять sort
Отправлено: NeoNox от 27 Августа 2003, 12:08:25
perldoc -f sort
@articles = sort {uc($a) cmp uc($b)} @spisok;
Название: и опять sort
Отправлено: mike от 27 Августа 2003, 12:45:44
плюс к этому

perldoc -f push
Название: и опять sort
Отправлено: Yaroslav от 27 Августа 2003, 14:05:59
Цитировать
NeoNox:
@articles = sort {uc($a) cmp uc($b)} @spisok;

нефурычит. :(
Название: и опять sort
Отправлено: NeoNox от 27 Августа 2003, 14:12:48
Yaroslav
что print "@spisok"; выдает?
Название: и опять sort
Отправлено: Yaroslav от 27 Августа 2003, 14:27:04
NeoNox:
4izitki:::4Topik:::Topik                            #с файла topik.tip
9izitki:::9anvia:::anvia                              #с файла anvia.rek
5izitki:::5KM Group:::KM Group                 #с файла kmgroup.rek
Название: и опять sort
Отправлено: mike от 27 Августа 2003, 14:33:01
Цитировать
Yaroslav:
if ("$file[13]" ne \'\') { @spisok="@spisok $file[13]"; }

Поэтому @spisok будет всегда состоять из одного элемента.

if ($file[13] ne \'\') { push @spisok, $file[13] }
Название: и опять sort
Отправлено: Yaroslav от 27 Августа 2003, 14:50:09
Цитировать
mike:
Yaroslav:
if ("$file[13]" ne \'\') { @spisok="@spisok $file[13]"; }

Поэтому @spisok будет всегда состоять из одного элемента.

if ($file[13] ne \'\') { push @spisok, $file[13] }

у меня в книжке такого нет, хотя нетрудно теперь догадатся что раньше я склеивал во едино, а теперь оно там будет частями, верно?
Название: и опять sort
Отправлено: Yaroslav от 27 Августа 2003, 14:55:42
NeoNox:
mike:

Спасибо Киевляне заработало :)
Название: и опять sort
Отправлено: mike от 27 Августа 2003, 15:10:45
Yaroslav
Кстати, $file[13] будет содержать 14-ю строку, а не 13-ю :)
Название: и опять sort
Отправлено: Yaroslav от 27 Августа 2003, 16:45:34
Цитировать
mike:
Кстати, $file[13] будет содержать 14-ю строку, а не 13-ю

совсем меня с г... смешать хочешь? невыйдет :) я это знал уже давно :)
Название: и опять sort
Отправлено: NeoNox от 27 Августа 2003, 16:49:12
[moderator]
Тема закрыта.