【Perl】strict【Tips】
use strict
モダンPerlの代表です。
use strictを使用すると主に3つの機能を提供してくれる。
- use strict 'refs'; # シンボリックリファレンスの無効化
- use strict 'vars'; # 宣言の強制
- use strict 'subs'; # 適当な最適化を禁止し明確にする
■use strict 'refs'
シンボリックリファレンスを使用したときに
エラーを吐き出してくれる。
# シンボリックリファレンス
@array = (10, 20, 30);
$ref = 'array';
print $ref->[1]; # 20が表示される
このようなアクセス方法を無効化してくれる。
■use strict 'vars'
宣言を強制してくれる
ようは
use strict 'vars';
$var = 10; # NG
my $var = 10; # OK
$var = 20; # OK
$var2 = 'OK?' # NG
と、宣言されていないものはエラーを吐き出してくれる。
■use strict 'subs'
Perlがコンパイル中にトークンに分類できない
文字列を適当に解釈するのを禁止します。
use strict 'subs';
$sub = test; # NG 適当に解釈されるのを禁止print $sub->();
sub test{return 1;}
以上の利点より現在use strictを使用することが推奨されています。
(宣言を強制する時点で宣言しなきゃ損だと思います。)
perldoc.jp