我有一個非常古老的perl系統(大約8-10歲),但是一個很大的(100 + pm文件)。現在由於某種原因,需要「重塑」它 - 逐步進行。正確的方法將我自己的編譯指示添加到老perl sw
一個我想要得到完成第一件事是插入到每一個模塊我編譯:
use MySw::PerlDefs;
究竟會含有像Modern::Perl事物和/或在這個問題:How to make "use My::defaults" with modern perl & utf8 defaults?
QST1:推薦的方式是什麼?
加入
use MySw::PerlDefs;
這樣會得到package MySw::SomePackage; use MySw::PerlDefs; #my new "pragma"
或添加在包裝上聲明之後BEGIN的PerlDefs?例如爲:
package MySw::SomePackage; BEGIN {use MySw::PerlDefs;} #my new "pragma" in the BEGIN block
問題:
- 什麼是首選的方法?
- 有什麼區別和/或缺點?
ps:我知道比在編譯時BEGIN exectuted,但在上面的上下文中 - 它不比「簡單使用」更好?
['使用Package'](http://perldoc.perl.org/functions/use.html)是相同的'BEGIN {需要包裝; Package-> import()}' –
安裝升級的Perl是否沒有希望,或許與perlbrew?一些現代功能在舊的Perl版本中不可用(例如'// =')。加上所有不錯的新bug修復。 – DavidO
試圖僅將您的編譯指示碼修改爲現有的應用程序將不會順利進行。這就是說:100 +模塊並不是那麼大。 1000+是。 – duskwuff