2013-05-12 61 views
7

正如標題所示,無論如何,我可以自動告訴perl在我寫的每個perl腳本中包含以下內容(除非另有說明)?有沒有什麼辦法可以在我每次寫腳本時「自動使用」某些模塊?

use strict; 
use warnings; 
use feature 'say'; 

我知道這不是什麼大不了的事寫三行,但它會很好,如果我可以改變一些系統文件或東西,使它,所以我再也不用這樣做。

在此先感謝。

+0

如果您使用的是vim,只需定義一個模板'pl'文件,我的意思是在您的編輯器中執行。 – perreal 2013-05-12 05:34:46

+1

我只是使用[common :: sense](https://metacpan.org/module/MLEHMANN/common-sense-3.4/sense.pm.PL),雖然閱讀該文檔以查看究竟意味着什麼。直接回答你的問題只是一個我不想解釋的鏈接:http://shadow.cat/blog/matt-s-trout/a-perl-of-your-own/ – 2013-05-12 05:56:05

回答

4

如果您使用更高版本的perl 5.11.0,則默認啓用use strict;。您何時使用Moose即可免費獲得strict免費warnings;

您也可以與所有需要的功能定義自己的模塊,並且所有線路減少到一個線,如:

use Myname::defs; 

如何開發一個模塊什麼包括您的需求,在這裏回答:How to make "use My::defaults" with modern perl & utf8 defaults? 。如果你不需要utf8你可以將geniue答案縮短爲strict,warnins和features。您也可以檢查this questionthis question

爲了發展,你也可以考慮:

use strictures 1; 

about it here

+0

這並不是說'回答這個問題。如果'使用Myname :: defs;'工作,這不會是一個問題。 – felwithe 2015-08-03 16:20:54

+0

@felwithe您是否按照此答案的前兩個鏈接?兩者都顯示瞭如何編寫自己的模塊的例子,該模塊可以將諸如stricks之類的東西導出到當前包中。 – ThisSuitIsBlackNot 2015-08-03 16:29:21

+0

3年後downvote :)。沒關係,但很高興知道原因,例如我如何才能改善答案。 – jm666 2016-08-15 05:40:28

1

使用use VERSION語法的版本號大於或等於5.11.0將從詞法上啓用stricks,就像use strict會執行的那樣(除了啓用功能)。以下:

use 5.11.0; 

表示:

use strict; 
use feature ':5.11'; 

雖然像emacs編輯器可以設置爲自動添加3條線路,可以有效地在調用的perl提供參數達到同樣的

perl -w -M5.11.0 foo.pl 

[您可以考慮在您的shell啓動腳本中爲perl添加alias。]

相關問題