Использование выражений, создающих скаляры, в списочном контексте
В этом направлении все тривиально: если выражение обычно не имеет списочного значения, скалярное значение автоматически преобразуется в список из одного элемента:
@fred = 6 * 7; # Список из одного элемента (42)
@barney = "hello" . ' ' . "world";
Правда, в таком преобразовании кроется одна возможная ловушка:
@wilma = undef; # ОЙ! Получаем список из одного элемента (undef)
# А это не эквивалентно:
@betty = ( ); # Правильный способ очистки массива
Так как undef является скалярным значением, присваивание undef массиву, естественно, не приводит к его очистке. Проблема лучше всего решается присваиванием пустого списка.
Комментарии:
Нету комментариев для вывода...