Что означает '\' в контексте этого Perl-скрипта

Мне нужно объяснить, почему вывод этого кода Perl неверен, но я не понимаю, что означает символ '\' в Perl. Это школьная работа

#!/user/bin/perl
$x=5;
$y=\$x;
print "$x , $y, $$y \n";
$x=6;
print "$x , $y, $$y \n";
$y=4;
print "$x , $y, $$y\n";

также это результат, который он дает.

5 , SCALAR(0x8daaa0), 5 
6 , SCALAR(0x8daaa0), 6 
6 , 4, 

person AlecWiese    schedule 30.04.2012    source источник
comment
SCALAR(0x8daaa0) - так выглядит ссылка на другую переменную в perl при печати. Слово будет описывать тип ссылки (HASH, ARRAY, SCALAR ..).   -  person TLP    schedule 30.04.2012
comment
К вашему сведению, если ответ правильный, отметьте его, нажав на галочку рядом с ним   -  person Joel Berger    schedule 30.04.2012
comment
Всегда используйте use strict; use warnings;!   -  person ikegami    schedule 30.04.2012
comment
Операторы задокументированы в perlop. Ваша версия Perl доступна с помощью команды perldoc perlop.   -  person ikegami    schedule 30.04.2012


Ответы (3)


\ - ссылочный оператор. $y теперь содержит ссылку на $x. Итак, $$y это $x.

Дополнительную информацию можно найти на странице perldoc perlreftut.

person flygoast    schedule 30.04.2012

Загляните в perldoc perlref, который объясняет ссылки.

person David-SkyMesh    schedule 30.04.2012

\ принимает ссылку на следующую за ним переменную.

Чтобы отображать предупреждения, добавьте:

use warnings;
person stark    schedule 30.04.2012
comment
спасибо, что теперь сказал мне, что не так, мне просто нужно выяснить, как это исправить! - person AlecWiese; 30.04.2012