我完全是Perl/Fastcgi的新手。包括pm文件中的文件
我有一些pm模塊需要添加很多腳本,隨着時間的推移它會增長和增長。因此,我需要一個使管理員更容易的結構。
所以,我想創建文件在我可以包括的某種目錄結構。我希望我包含的文件可以像文件寫入包含文件的文件一樣。
我試過'做','使用'和'要求'。我想包含的實際文件位於Perl正在查找的其中一個目錄中。(使用perl -V進行驗證)
我嘗試過BEGIN {}內外的操作。
我該怎麼做?在pm文件中是否可以包含pm文件?它是否必須是我包含的pm文件,或者它可以是任何擴展名嗎?
我已經嘗試了幾種方法,下面是我最後一次嘗試。
Config.pm
package Kernel::Config;
sub Load {
#other activities
require 'severalnines.pm';
#other activities
}
1;
severalnines.pm
# Filter Queues
$Self->{TicketAcl}->{'ACL-hide-queues'} = {
Properties => {
},
PossibleNot => {Ticket => { Queue =>
['[RegExp]^*'] },
},
};
1;
我不是在Apache的error_log中與此相關的得到任何錯誤。儘管如此,如果我把它放在Config.pm文件中,代碼也不會被識別。
我不打算開始編程很多,只是在第三方應用程序中做一些管理。儘管如此,我還是四處搜尋,試圖瞭解它如何與包含文件一起工作。是否將onesnines.pm視爲perl模塊,是否需要使用像h2xs或類似的程序才能「創建」模塊(告訴您,完全新手......)?
在此先感謝!
你試過'require'/ full/path/to/file.foo''?你確定所有這些腳本都返回了一個真正的值(通常通過在文件底部加一個'1;'來完成)。另外,它是Perl,而不是Pearl。你有沒有試過檢查Apache的錯誤日誌?失敗的'require'會導致發送錯誤的過程崩潰到stderr。 – unpythonic
謝謝!我確實加了1;因爲我沒有那個。該文件可以找到,但代碼沒有使用,我認爲。請使用代碼查看我更新的帖子。 – Nicsoft
如果我做了你的任何建議,我仍然需要編寫代碼才能使用我包含的任何內容。我的觀點是不需要在Config.pm文件中做任何其他事情,而不需要做某些事情。我需要查看服務器端包括嗎? – Nicsoft