caller
caller EXPR
caller EXPR
caller
は、caller
を実行したファンクションの呼び出し元情報を返します。引数なしで呼び出すと、スカラコンテキストではパッケージ名のみ、リストコンテキストでは実行中サブルーチンの呼び出し元のパッケージ名、ファイル名、行番号を返します。
callerの使い方
($package, $filename, $line) = caller;
caller
に引数を指定
引数EXPR
に数値を指定すると、その指定した数値分だけ前の情報を返します(0だと直前の情報)。
また、引数がある場合は、より詳細な情報が返されます。
$i = 0; while ( ($pack, $file, $line, $subname, $hasargs, $wantarray, $evaltext, $is_require) = caller( $i++) ){ ... }
DB
パッケージ内から呼び出された場合には、caller
はさらに詳細な情報を返します。サブルーチンが起動されたときの引数を変数@DB::args
に設定します。