1.21 定数を宣言する
変数に設定した値を変更できないようにしたい。
# 展開できるスカラー変数にする必要がない場合 use constant AVOGADRO => 6.0225e23; printf "You need %g of those for guac\n", AVOGADRO; # スカラー変数にする必要がある場合 *AVOGADRO = \6.0225e23; print "You need $AVOGADRO of those for guac\n"; # もっとも安全な方法 package Tie::Constvar; use Carp; sub TIESCALAR { my ($class, $initvar) = @_; my $var = $initval; return bless \$var => $class; } sub FETCH { my $selfref = shift return $$selfref; } sub STORE{ confess "Meddle not with the constants of the universe"; }