タグ

スコープとamachangに関するitengineerのブックマーク (1)

  • my と local のサンプル - IT戦記

    local と my - IT戦記の続き local と my の違いが分かるサンプルを書いてみた our $foo = 0; do { # ... (1) local $foo = 1; do { print "$foo\n" }; # 1 sub { print "$foo\n" } # 0 }->(); do { # ... (2) my $foo = 1; do { print "$foo\n" }; # 1 sub { print "$foo\n" } # 1 }->(); ちなみに do {...} は return の扱いを除いて (sub {...})->() と等価だと考えていいです。まあ、関数をその場で呼び出すようなものですね。単なる {...} との違いは、 {...} が式ではなくて文(ブロック)であって、 do {...} は式(do 関数の呼出し)というところで

    my と local のサンプル - IT戦記
  • 1