Perlゼミ

  1. Perl
  2. サブルーチン
  3. here

サブルーチンの定義はスコープの影響を受けない

サブルーチンの定義は、スコープの影響を受けません。

{ 
  sub func {
    return 2;
  }
}
my $ret = func();

サブルーチンは、スコープの影響を受けません。一見すると、funcは、スコープの外では、見えないものと思ってしまいがちですが、そうなりません。

サブルーチンの定義は、コンパイル時に、シンボルテーブルというものに登録されます。シンボルテーブルは、プログラムのどこからでも参照することができるため、サブルーチンも、プログラムのどこからでも参照できます。

サンプル

サブルーチンの定義はスコープの影響を受けないことを理解するサンプルです。

use strict;
use warnings;

# サブルーチンの定義とスコープ
# サブルーチンは、スコープの影響を受けない。

{ 
  sub func {
    return 2;
  }
}

print "1: サブルーチンの定義は、スコープの影響を受けない。\n";
my $ret = func();
print "\$ret は、$ret です。\n";
Perlの書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「今日も元気だ、Perlで元気。
ゆとりあるITエンジニアライフのために
Perl情報を前向きに発信中!」

Twitter
フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!