人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlの変数について質問させて下さい。

my等のスコープ指定をせずに、例えば$variable = 10等とした場合、
この変数はどのような扱いになるのでしょうか。(perlがどのように扱うか)
最近までourと同じかと思っていたのですが間違っていました。

●質問者: taichino
●カテゴリ:コンピュータ
✍キーワード:Perl スコープ 変数
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● makeworld
●60ポイント ベストアンサー

現在のパッケージのグローバル変数として扱われます。パッケージを変更すると、変更後のパッケージのグローバル変数を参照します。

our宣言した変数は、パッケージを変更してもour宣言時点のパッケージのグローバル変数を参照し続けます。

#!/usr/bin/perl

our $a; $a = 'main'; $b = 'main';

package foo;
our $a; $a = 'foo'; $b = 'foo';

package bar; { our $a; $a = 'bar'; $b = 'bar'; }
warn $a; # => $foo::a
warn $b; # => $bar::b

package main;
warn $a; # => $foo:a
warn $b; # => $main::b

Re: perl - myとourとscopeと - Tociyuki::Diary

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ