Perl再入門 | アルパカ本に学ぶリファレンス入門8 - サブルーチンへのリファレンス

Perlでは、サブルーチンへのリファレンスを作って変数に格納することができます。
use strict;

sub greets {
	print "hello\n";
}
my $ref = \&greets;
この例では、greetsサブルーチンへのリファレンスを、$refに格納しています。

デリファレンス

$refをデリファレンスして元のサブルーチンを呼び出す方法
まずおさらい。
普通のサブルーチン呼出はこう書きます。
 &greets();  # → hello 
ここで、 サブルーチン名 → {$ref} と置き換えると、 $refをデリファレンスして元のサブルーチンを得ることができます。
&{ $ref }();  # → hello 

デリファレンスの省略記法

下記のコードはすべて同じ動作をします。
&{$ref}();
&$ref();
$ref->();
カテゴリ: