"Perl for Perl Newbies" - Part 2References\ - Taking a Reference to an Existing Variable

10.2. \ - Taking a Reference to an Existing Variable

In Perl the backslash ( \) is an operator that returns the reference to an existing variable. It can also return a dynamic reference to a constant.

Here is an example that uses a reference to update a sum:

use strict;
use warnings;

my
$sum =
0;

sub 
update_sum
{

my
$ref_to_sum =
shift;

foreach
my
$item (
@_)
    {

# The ${ ... } dereferences the variable

${$ref_to_sum} +=
$item;
    }
}

update_sum(\
$sum,
5,
4,
9,
10,
11);
update_sum(\
$sum,
100,
80,
7,
24);

print
"
\$
sum is now ",
$sum,
"
\n
";

As can be seen, because the reference to $sumwas used, its value changes throughout the program.


Written by Shlomi Fish