, 아래의 파일은 아래 코드는혼란 내가 두 개의 파일이
package pack_module;
use Exporter;
@ISA = qw/Exporter/;
@EXPORT = qw/$var/;
our ($var);
sub check_scope
{
$var = 3;
}
1;
언제,
use pack_modules;
$var = 1;
print "var is $var\n";
&pack_module::check_scope($var);
print "var is $var\n";
두 번째 파일은 "pack_modules.pm"이다, "Packages_module.pl"입니다 pack_modules.pm을 실행하면 다음과 같은 결과가 나타납니다. '$ var에'가 1이 될 것이라고
var is 1
==========
Using Module Subroutine:
var is 1
==========
처음, 그것은 분명했지만, "pack_module"의 값이 표시되지 않는 이유를 다시 오히려 3보다 1을주고 있었다 두 번째는 하나 말해 줄 수 "Packages_module"에 있습니다.
'$ var'가 아니라'$ var2'를 내 보내지 않았습니다. 가정을 테스트하기 위해'$ pack_module :: var'을 살펴볼 수도 있습니다. 'check_scope '의 인수는 무시됩니다. (아, 그리고 소문자 모듈을 쓰거나,'&'를 사용하여 서브를 호출하지 마십시오.) – amon
@amon 실수로 $ var2 대신 $ var를주었습니다. 어쨌든 나는 그것을 편집했지만, 여전히 동일한 결과를 내고있다. 실수로 –