在Perl中创建引用

Perl引用是一种标量数据类型,它保存另一个值的位置,该值可以是标量,数组或哈希。由于其标量性质,因此可以在任何地方使用引用,也可以使用标量。

通过为每个变量,子例程或值添加反斜杠前缀可以很容易地创建引用,如下所示:

$scalarref = \$foo;
$arrayref = \@ARGV;
$hashref = \%ENV;
$coderef = \&handler;
$globref = \*foo;

您不能使用反斜杠运算符在I / O句柄(文件句柄或目录句柄)上创建引用,但可以使用方括号创建对匿名数组的引用,如下所示-

$arrayref = [1, 2, ['a', 'b', 'c']];

您可以使用大括号以类似方式创建对匿名哈希的引用,如下所示:

$hashref = {
   'Adam' => 'Eve',
   'Clyde' => 'Bonnie',
};

可以通过使用不带子名的sub来创建对匿名子例程的引用,如下所示:

$coderef = sub { print "Boink!\n" };