参照はポインタです。Perl 参照は、変数、配列、ハッシュ テーブル (連想配列とも呼ばれます)、またはサブルーチンを指すことができるスカラー型であり、プログラム内のどこにでも適用できます。
変数を定義するときは、変数名の前に を追加して、変数への参照を取得します。次に例を示します。
$scalarref = $foo; # スカラー変数参照 $arrayref = %ENV; # ハッシュ参照 $coderef = *foo; # GLOB ハンドル参照
[] 定義を使用して、配列内で匿名の配列参照を使用できます。
$aref= [ 1,"foo",undef,13 ];
匿名配列の要素は依然として匿名配列である可能性があるため、このメソッドを使用して配列の配列を構築でき、任意の次元の配列を構築できます。
私の $aref = [ [1, 2, 3], [4, 5, 6], [7, 8, 9],]
ハッシュでは、{} を使用して定義された匿名ハッシュ参照を使用できます。
$href= { 4 月 =>4、8 月 =>8 };
サブルーチン名を持たない匿名のサブルーチン参照を作成することもできます。
$coderef = sub { print "Codercto!n" };
逆参照は、さまざまなタイプに応じて $、@、または % を使用してキャンセルできます。例は次のとおりです。
上記の例を実行した結果は次のようになります。
10 は: 101 2 3 は: 123%var は: key110key220
変数の型がわからない場合は、 ref を使用してそれを決定できます。次の値がない場合は false を返します。
SCALARRAYHASHCODEGLOBREF
例は次のとおりです。
上記の例を実行した結果は次のようになります。
rの参照型:SCALAR rの参照型:ARRAYr 参照型:HASH
循環参照は、2 つの参照が相互に含まれる場合に発生します。慎重に使用する必要があります。そうしないと、次の例のようにメモリ リークが発生します。
上記の例を実行した結果は次のようになります。
foo の値: REF(0x9aae38)
関数参照形式: &
リファレンス関数の呼び出し形式: & + 作成したリファレンス名。
例は次のとおりです。
上記の例を実行した結果は次のようになります。
要素: 年齢 要素: 3 要素: 名前 要素: codercto