package MyPack;
$a = 1;
# найти хэш с таким именем в пакете main можно так
%main::func
# и так можно до бесконечности :)
# например
%main::main::main::func
%MyPack::func
$MyPack::a=1; # так можно записать первые 2 строчки
# например
%main::MyPack::func
# получение указателя на скаляр:
*$main::MyPack{'a'}{SCALAR};
Подключение модуля
use MyPack;
Чтобы выдавать в итоге выполнения модуля 1, необходимо в конце перлмодулей (то есть файлов *.pm) принято писать 1; Иначе может возникать ошибка типа модуль не загружен и.т.п.
Видимость
Имена переменных лексической области видимости ограничиваются блоком.
Если переменная на уровне файла, то видима до конца файла
$a=3;
$a_mm='a';
my ($a,@b) = (1,2,3);
print "$a\n";
print $main::a;
Выведет:
1
3