10年ぶりにPerlを書いて色々調べていたら超懐かしい話題を見かけたので。
ourの挙動は分かったけど、一番重要なのはそれで何が嬉しいの?という事じゃないのかなあ。
要するにuse strict環境でグローバル変数(完全修飾名?)を簡単に作れる方法というだけ。
use strict; package VERY::LONG::NAME::MODULE{ # $var = 1; これはエラー # $VERY::LONG::NAME::MODULE::var = 1; これはOKだけど面倒くさい # my $var = 1; スコープを外れると見えなくなる(undef) our $var = 1; } print "$VERY::LONG::NAME::MODULE::var\n";