【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