Передача скалярной ссылки в Perl

Я знаю, что передача скаляра в подпрограмму на самом деле передает ссылку, но поскольку я новичок в perl, я все же провел следующий тест:

#!/usr/bin/perl
$i = 2;
subr(\$i);
sub subr{
    print $_[0]."\n";
    print $$_[0]."\n";
}

Я думал, что первая строка будет печатать адрес и вторая строка вернет номер, но вторая строка будет пустой. Кто-то другой указал мне сделать это: $ {$ _ [0]} , и он напечатает число. Но она не знала, почему без {} он не работает и почему работает с {}. Так что же произошло?

6
задан Peter Mortensen 24 April 2016 в 10:37
поделиться