タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

localとsignalに関するhiroyukimのブックマーク (1)

  • Perlシグナル処理 : D-7 <altijd in beweging>

    %SIGに限った事ではないのだけれども、ここでまず注意しなくてはいけないのが、%SIGはグローバル変数であること。ある関数foo()内で%SIGをいじったあとにreturnすると、foo()を呼び出したスコープでもその値は有効になってしまう。これだと自分はよくても他のモジュール等に影響を与える可能性がある。そこでまず癖としてlocal修飾子を使う癖をつけてほしい local $SIG{INT} = sub { warn "got SIGINT (OUTSIDE)" }; sub foo { warn "inside foo()"; local $SIG{INT} = sub { warn "got SIGINT (INSIDE foo)" }; sleep 10; } warn "sleeping..."; sleep 10; foo(); warn "outside foo()"; sl

    Perlシグナル処理 : D-7 <altijd in beweging>
  • 1