##
my $a = 10;
print "$a ";
change($a);
print "$a";
sub change {
my $param = shift;
$param++;
}
####
# contrived example: there usually isn't a good reason
# to have references to scalars.
my $a = 10;
my $b = \$a;
print "$$b ";
change($b);
print "$$b";
sub change {
my $param = shift;
${$param}++;
}
####
my $a = 10;
my $b = \$a;
my $c = 4;
print "$$b ";
change($b);
print "$$b";
sub change {
$_[0] = \$c;
}