Хотя глядя на некоторый код Perl, я наткнулся на уступки выхода CHR непосредственно на хэш:Perl: назначить скаляр непосредственно на хэш
local %str = chr(shift);
Confused, что код работает нормально, это сделал я понимаю, следующее:
perl -le 'my $jurso = 23; print $jurso;'
23
perl -le 'my %jurso = 23; print %jurso;'
23
perl -le 'my @jurso = 23; print @jurso;'
23
Я ожидал, что назначение скаляра непосредственно в хэш или массив, чтобы привести к ошибке. Может ли кто-нибудь объяснить, почему переменная jurso ведет себя как скаляр, независимо от используемой сигилы?
Спасибо.
включить предупреждения! perl -wle расскажет другую историю для второго случая – ysth