我有屬性::處理程序一個奇怪的問題,看起來像某種錯誤的:爲什麼不從其他包中調用Perl屬性處理程序?
package MyPackage;
use Attribute::Handlers;
sub UNIVERSAL::foo :ATTR(CODE) {
...
}
當MyPackage的使用,或從使用MyPackage的腳本的主包,foo的處理函數被調用每當編譯器遇到的形式
sub bar:foo {
...
}
的功能不過,我還有一個包,在一個單獨的.pm文件,使用MyPackage的。編譯器接受「:foo」屬性,但處理程序是而不是調用。
我試圖在MyPackage中編寫一個導入函數,它將foo處理程序導出到調用者的名稱空間,但這似乎沒有幫助。
任何人都可以理解這一點嗎?過去幾天,我一直在關注如何解決這個問題。
你是否在使用'strict'和'warnings'? –
@Chris - 是的。我開始懷疑我正在使用的其他軟件包之一與Attribute:Handlers衝突。 – Rob
你可以在這裏添加更多代碼嗎?一些你正在做什麼以及它不工作的全功能例子? –