Интерполяция элементов хеша

Одиночный элемент хеша интерполируется в строку, заключенную в кавычки, ровно так, как следовало ожидать:

foreach $person (sort keys %books) { # Перебираем всех читателей
if ($books{$person}) {
print "$person has $books{$person} items\n"; # fred has 3 items
}
}

Однако интерполяция всего хеша не поддерживается: Perl воспринимает запись "%books" как литерал, состоящий из шести символов (%books1). Следовательно, вы уже знаете все «волшебные» символы, которые должны экранироваться символом \ в строках, заключенных в кавычки: это символы $ и @, потому что они задают интерполируемую переменную; символ ", потому что без экранирования он будет воспринят как завершение строки в кавычках; и \, сама обратная косая черта. Все остальные символы в строках, заключенных в кавычки, не имеют специальной интерпретации и обозначают сами себя.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Perl на эту тему:
Зачем использовать хеш?
Обращение к элементам хеша
Присваивание хешей
Типичные операции с хешами
Функции keys и values

Вернуться в раздел: Perl / 5. Хеши