Forum Webscript.Ru

Программирование => Perl => Тема начата: Sanchez от 08 Марта 2006, 13:16:53

Название: Сортировка многомерного массива
Отправлено: Sanchez от 08 Марта 2006, 13:16:53
Как сделать? Т.е. что-то типа

@news;
$news[0][0]=\'asdasda\';
$news[0][1]=\'2006-03-01\';
$news[1][0]=\'sdfasfdfsdf\';
$news[1][1]=\'2004-02-01\';

Нужно остортировать по второй колонке, т.е. по дате. Я написал такую фичу:
@news=sort( {$news[$a][1] cmp $news[$b][1]} @news);

Но она не работает, ошибка Out of memory during "large" request for 1073745920 bytes, total sbrk() is 2070528 bytes at news.pl line 34.
Стопудово неправильно че-то делаю, но что? :)
Название: Сортировка многомерного массива
Отправлено: arto от 08 Марта 2006, 16:54:46
sort { $a->[1] cmp $b->[1]; } @news
либо написать вместо cmp свою функцию для разбора даты и сравнения.