リファレンスは、(リファレンスを含む) 他のスカラ型を指す、特別なスカラ型 です。AV や HV をスカラとして扱うには、単に AVや HV を SV にキャストする だけのことです。
リファレンスを生成するには、
SV* newRV((SV*) pointer);
というコマンドを使います。いったん、リファレンスができると、適切な
typedef (AV, AV, HV)
へのキャストを用いて、
SvRV(SV*)
というマクロが使うことができ、返された SV* を AV* か HV* にキャストして、 適切なルーティンを呼ぶことになります。
リファレンスを被参照した後も、まだリファレンスであるかを調べるには、
SvROK(SV*)
というマクロが使えます。
Go to the first, previous, next, last section, table of contents.