Size: a a a

2016 July 05

E

Eugen in Modern::Perl
my @names= ((),'my','name');
sub fn1 {
    return ( 'a', 'b', 'c', @names );
}
print scalar fn1();
источник

E

Eugen in Modern::Perl
ответ будет 2 вместо ожидаемого 5
источник

E

Eugen in Modern::Perl
хотя если копнуть глубже, то всё ок
источник

E

Eugen in Modern::Perl
Нашел ответ почему результат 2? =)
источник

A

Alexey Myshkin in Modern::Perl
еще бы отсюда дневную переписку на почту получать, для архива умных мыслей
источник

E

Eugen in Modern::Perl
видимо вопрос со звёздочкой )
источник

DS

Dmitriy Shamatrin in Modern::Perl
Гораздо более важно другое
источник

DS

Dmitriy Shamatrin in Modern::Perl
Гораздо более важно то, что если это таки обернуть в присвоение массиву, то все там будет ок и будет 5
источник

AP

Anton Petrusevich in Modern::Perl
return ( 'a', 'b', 'c', @names ); ... print scalar fn1(); — это из разряда "не делайте ТАК"
источник

E

Eugen in Modern::Perl
а где же ответ на вопрос "почему"?
источник

AP

Anton Petrusevich in Modern::Perl
чесгря, "хз", поскольку не вижу смысла даже :)
источник

AP

Anton Petrusevich in Modern::Perl
ведь для начала надо ответить "зачем"
источник

F

Foxcool in Modern::Perl
я бы с такой подачей вопросов уже давно на йух послал
источник

F

Foxcool in Modern::Perl
экзаменатор хуев ((:
источник

AP

Anton Petrusevich in Modern::Perl
my @ret = fn1; print scalar(@ret)."\n"; = 5
источник

AP

Anton Petrusevich in Modern::Perl
отсюда мораль. никогда не делать так
источник

DS

Dmitriy Shamatrin in Modern::Perl
Лень все писать. print scalar('a','b','c');
источник

DS

Dmitriy Shamatrin in Modern::Perl
c
источник

AP

Anton Petrusevich in Modern::Perl
список в скалярном контексте
источник

VS

Vany Serezhkin in Modern::Perl
гыгыгы perl -MO=Concise,-exec  -e 'my @names=("x")x100; print 0+(("y")x200, @names);'
источник