如何通过引用来更改Perl变量?

Sam*_*msh 1 perl reference

为什么打印8?为什么不$e改变$i

my $i = 8;

sub u
{
    return \$i;
}

my $e = u();
$e = "eer";
print $i; #8
Run Code Online (Sandbox Code Playgroud)

cjm*_*cjm 8

引用不是别名.您必须明确取消引用它们.

$$e = "eer"; # Store 'eer' into the variable referenced by $e
Run Code Online (Sandbox Code Playgroud)

是不一样的

$e = 'eer'; # Store 'eer' into $e, discarding its previous content
Run Code Online (Sandbox Code Playgroud)