caller EXPR caller |
返回關於當前子程序調用者的信息。在標量上下文中,返回調用者的包名稱或調用者的包名EXPR執行步驟。
在列表上下文中,指定不帶任何參數,調用者者返回包的名稱,該文件的文件名和行內當前子程序的調用者。
如果EXPR指定,調用者返回擴展信息的調用者EXPR執行步驟。也就是說,調用時的參數1,當前子程序調用者(上級),它返回的信息,帶2時,當前子程序的調用者(上上級)的調用者,等等
失敗返回undef
不帶參數調用時為基本信息
調用時參數的擴展信息
不帶參數調用時返回的信息:
($package, $filename, $line) = caller;
調用帶參數時,返回的信息:
($package, $filename, $line, $subroutine, $hasargs, $wantarray, $evaltext, $is_require) = caller($i); #by www.gitbook.net
隻返回$evaltext和$is_require的值當子程序被檢查實際上是一個eval()語句的結果。