sub test { my $argument = shift; my $config = $argument->{config}; my $userdata = $argument->{userdata}; ← A サブルーチン内のローカル変数に格納して my $log_error = $argument->{log_error}; my $log_alert = $argument->{log_alert}; my $status = $argument->{status}; $userdata->{test} = 2; ← B 書き換えているが }