すみません、ちょっと確認させて下さい

test01.pl--------
#!/usr/bin/env perl
require 'test02.pl';

my $value = 10;
test(sub { print $value; });
---------------

test02.pl--------
sub test {
  $sub = shift;
  &$sub;
}
---------------

実行結果:10

test02.plを以下のようにしてもうまくいかない
test02.pl---------
sub test {
  print $value;
}

こういう理解であっているでしょうか?