Сегодня я столкнулся с проблемой, которая потребовала от меня определения максимального индекса массива в perl. Раньше я делал это так:
my @array = (1, 2, 3);
print $array[@array - 1];
Но сегодня я наткнулся на этот код:
my @array = (1, 2, 3);
print $array[$#array];
Я не смог найти ничего по этому вопросу в документации. Что это за конструкция $#
? Это оператор? И как это работает, это быстрее, чем первый кусок кода? Всегда ли он возвращает максимальный индекс массива? Это устарело или нет?
Я знаю, что это много вопросов, но все они могут быть суммированы одним, и вот что я действительно хочу знать: Как это работает?