| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Что означает такая конструкция? |
| Автор: Валерия 11.9.2009, 02:37 | ||
Смотрим комментарий кода. $data{"c"} = '3' не помагает Собственно что означает такая конструкция ['a' =>'b'] ? Это ведь похоже и не ассоциативный массив... |
| Автор: gcc 11.9.2009, 04:19 | ||
| может как-то так ? $data[0]{"c"} = '3'
|
| Автор: amg 11.9.2009, 05:45 |
| Такая конструкция конструкция означает пудрение мозгов Дело в том, что оператор => это (за мелкими исключениями) синоним запятой, применяется он почти всегда для хэшей, в итоге имеем намек на хэш, которого на самом деле нет. $data -- это ссылка на анонимный массив, то же самое, что $data = ['a', '1', 'b', '2']; Следовательно, вопрос "Как с этой строки добавить к массиву $data значение допустим 'c' => '3'?" не совсем корректен, можно сделать push @$data, 'c' => '3'; # => -- синоним запятой Тем самым в конец массива добавится два элемента, 'c' и '3'. Либо push @$data, {'c' => '3'}; Тем самым в конец массива добавится один элемент, ссылка на анонимный хэш ('c' => '3'). |