2015-04-12 67 views
3

我需要知道從哪個perl文件調用了我的函數。比方說,我有一個具有以下功能如下模塊(MyModule.pm):如何知道從哪個perl模塊或文件調用該函數

package MyModule; 

sub myFunc{ 
    # Here I need to print the name of the file that the function was called from 
} 

和腳本myScript.pl使用MyModule並調用函數myFunc()

use MyModule; 
MyModule->myFunc(); 

我在這裏需要調用myFunc()到打印「myScript.pl

有什麼辦法可以在Perl中做到這一點?

回答

6

裏面方法,

sub myFunc{ 
    my ($package, $filename, $line) = caller; 
    print $filename; 
} 

檢查perldoc -f caller瞭解更多詳情。

相關問題