Forum Webscript.Ru

Программирование => Perl => Тема начата: Billi от 26 Ноября 2003, 21:41:01

Название: Modification of a read-only value attempted
Отправлено: Billi от 26 Ноября 2003, 21:41:01
Есть 2-х мерный массив, его при его сортирвке возникает ошибка Modification of a read-only value attempted ...
.....
for() #Создание и работа с массивом
{}
.......
@persons = map {[$_,$_->
@sort__ = sort {   $a->[2] cmp $b->[2]
                   ||
                   $b->[1] cmp $a->[1]
                  } @persons;
@finally = map {
               $_->
               } @sort__;
......
Пиричем если убрать предыдущие циклы ошибки не будет.
(Сортировка происходит не в цикле)
В чем может быть проблема?
Название: Modification of a read-only value attempted
Отправлено: ondr от 27 Ноября 2003, 10:53:57
Ищи раньше. Возможно у тебя где-то ссылка на константу, которую ты пытаешься править.

ps: У тебя очепятка в строке с "@persons = ..."
Название: Modification of a read-only value attempted
Отправлено: Billi от 27 Ноября 2003, 12:37:04
Вобщем разобрался (спасибо за подсказку), давольно интересная ошибка во время создания массива один элемент был пропущеп (с частности первый), с другими операторами это проходило на ура map нетаков.
Как я понял там лежал хз какой адрес собственно его
map наверное и менял, хотя зачем он это делал?
Поидее далжна была возникнуть ошибка доступа к памяти.