У меня есть скрипт на Perl, который пропускает множество ненужных строк
use HTML::Entities;
my @keys = ('ID', 'first', 'last'); # data is not actually constant
my @encodedKeys = map(encode_entities, @keys);
, который работает без ошибок. Но когда я пытаюсь получить доступ к значениям в массиве, я получаю ошибки:
Use of uninitialized value $encodedKeys[0] in join or string at myfile.pl line 48.
Если я удаляю отображение, код работает правильно - то есть переменные не являются пустыми или пустыми строками. Что я делаю неправильно? Есть ли хороший идиоматический способ сделать это? (Это очевидно тривиально сделать последовательно.)