Александр, Андрей, Евгений, Руслан, большое спасибо за объяснения! =)
8 июня 2010 г. 19:15 пользователь Ruslan Zakirov <[email protected]> написал: > 2010/6/8 Eugene Toropov <[email protected]>: >> Кстати, вчера наткнулись на старый код, который в 5.8. еще работал, а в 5.10 >> уже нет: >> >> 5.8.8> perl -e 'use strict; my $a = [1, 2, 3]; print $...@$a}' >> 2 >> >> 5.10.1> perl -e "use strict; my $a = [1, 2, 3]; print $...@$a}" >> Can't use string ("3") as an ARRAY ref while "strict refs" in use at -e line >> 1. >> >> Сам я всегда использовал $#$a, если было нужно. > > И это правильно, что эквивалентно $#{$a}. Новое поведение тоже верно: > $#{...} для получения аргумента задает скалярный контекст, а @$x в нем > возвращает кол-во элементов. И это хорошо - стало более консистентно. > > -- > Best regards, Ruslan. > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
