Perl, контекст и wantarray (wantlist)

Интересно поведение wantarray и функций, пытающихся угадать поведение пользователя. Вот такой простой код позволяет нам одной подпрограммой выдавать и скаляр, и массив, смотря что нас попросят:

А вот интересное поведение этой же функции, для меня кажущееся крайне неожиданным. 

 

 

Параметры функции в Perl, небольшая зарисовка

Если внутри функции использовать массив @_, то это повлияет на целостность данных вне функции:

Если из массива вынимать данные и использовать их, то с внешними переменными все будет в порядке:

Эту разницу нужно учитывать или даже использовать, кому как больше нравится.