|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Michael Spector 2:5020/400 24 Jun 2003 15:03:06 To : All Subject : Что-то странное ... или я что-то упустил -------------------------------------------------------------------------------- Hi All, Имеем: This is perl, v5.8.0 built for MSWin32-x86-multi-thread (with 1 registered patch, see perl -V for more detail) Copyright 1987-2002, Larry Wall Binary build 805 provided by ActiveState Corp. http://www.ActiveState.com Built 18:08:02 Feb 4 2003 Запускаю: perl -de DB<1> sub { $_[0] = "Abba"; } DB<2> sub func { $_[0] = "Abba"; } DB<3> $a = "BoneyM"; DB<4> func($a); DB<5> print $a; DB<6> Abba ^^^^^ здесь всё нормально, как и должно быть DB<6> $b = "Hello"; DB<7> func(\$b); DB<8> print $b; DB<9> Hello ^^^^^ тоже хорошо DB<9> sub func2 { $$_[0] = "Abba"; } DB<10> func2(\$b); DB<11> print $b; DB<12> Hello ^^^^^^ почему не Abba? ведь функция изменила значение адреса, алиасом которого является $_[0] ? Hу а тут вообще что-то странное: DB<12> sub func3 { print $_[0]."\n".$$_[0]."\n"; } DB<13> func3(\$b); SCALAR(0x1cccd68) Abba DB<14> print $b; DB<15> Hello ^^^^^^ Это как ? ... в функции ето Abba, а за пределами Hello ? --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1667924eb7cac.html, оценка из 5, голосов 10
|