Поиск

Вопросы и ответы

Что означают двоеточия (::) в именах переменных в модуле File::Find, например $File::Find::dir?

Модули Perl могут создавать альтернативные области имён переменных, называемые пространствами имен. Это сделано для того, чтобы не путать имена глобальных переменных модуля и имена глобальных переменных вашей программы. Поэтому глобальная переменная в модуле Cwd будет называться $Cwd::x. Большинство глобальных переменных вашей программы на самом деле имеют полное имя, которое отличается от сокращенного. Например, полным именем переменной $х будет $main::x. Но пока для нас это не имеет особого значения.

На моем компьютере установлена система Windows 95/98/NT, и нужный мне модуль нельзя установить с помощью программы РРН Activestate. Как же мне инсталлировать его?

К сожалению, для установки большинства модулей СРАН необходима полная UNIX-подобная среда разработки для компиляции и инсталляции модулей; такую среду нелегко получить на компьютере, на котором установлена система Windows. Если вы хорошо владеете искусством работы с компилятором С, то можете загрузить среду разработки и создать собственный модуль, но сделать это не так просто.

У меня есть старая программа на Perl, в которой вместо оператора use используется require. Что такое require?

Оператор require аналогичен use. Поскольку в Perl 4 не было ключевого слова use, в нем использовалось require. Оператор require заставляет интерпретатор находить библиотечный файл и включает его в вашу программу — подобно use. Но главное отличие состоит в том, что директива require может обрабатываться во время выполнения программы, тогда как директива use выполняется только в процессе загрузки программы (т.е. во время компиляции).