09/07/27 12:47:23
ルールの意味をわかりやすく説明するサンプルコード
my $userdata = {};
$userdata->{test} = 1; ← ① 格納した情報を
require 'test.pl'
Test::testsub
({
config => $config,
userdata => $userdata,
log_error => $log_error,
log_alert => $log_alert,
status => $status,
});
print $userdata->{test}; ← 出力は 2 ④ サブルーチン内で書き換えた内容がちゃんと保持されている
exit;
sub test
{
my $argument = shift;
my $config = $argument->{config};
my $userdata = $argument->{userdata}; ← ② サブルーチン内のローカル変数に格納して
my $log_error = $argument->{log_error};
my $log_alert = $argument->{log_alert};
my $status = $argument->{status};
$userdata->{test} = 2; ← ③ 書き換えているが
}