Автор Тема: Очистить @INC  (Прочитано 4844 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rufender

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
Очистить @INC
« : 12 Декабря 2006, 10:48:38 »
Как полностью очистить массив @INC ? чтобы скрипт и не думал лезть за модулями в директории кроме явно указанной с помощью use lib()?

Оффлайн ctax

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Очистить @INC
« Ответ #1 : 12 Декабря 2006, 11:52:16 »
#!/usr/bin/perl
@INC=("/home/me/myModules");
require "module.pm";

или

#!/usr/bin/perl
BEGIN{ @INC=("/home/me/myModules") };
use myModule;

Оффлайн Rufender

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
Очистить @INC
« Ответ #2 : 12 Декабря 2006, 12:14:07 »
все равно ищет  в системных папках (etc/perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux /usr/lib64/perl5/vendor_perl/5.8.8) и т.д.
я хочу вообще отключить в них поиск. такое невозможно чтоли?
чтобы искал модули только в /home/me/myModules"

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Очистить @INC
« Ответ #3 : 12 Декабря 2006, 12:29:14 »
no lib qw(:ALL .);
@INC = ();

perldoc lib
The documentations is your friend

Оффлайн Rufender

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
Очистить @INC
« Ответ #4 : 12 Декабря 2006, 12:43:47 »
хм. по всякому пробовал, не работает.

Оффлайн Rufender

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
Очистить @INC
« Ответ #5 : 12 Декабря 2006, 12:46:33 »
#!/usr/bin/perl -w

no lib qw(:ALL .);
@INC = ();

use CGI;

--
надо чтоб ругнулся на отсутствие CGI , т.к. его нет в моей perllib
а он все равно его находит

Оффлайн Rufender

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
Очистить @INC
« Ответ #6 : 12 Декабря 2006, 12:48:20 »
#perl -v

This is perl, v5.8.8 built for x86_64-linux

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Очистить @INC
« Ответ #7 : 12 Декабря 2006, 13:21:54 »
BEGIN {

no lib qw(:ALL .);

@INC = ();

}
The documentations is your friend

Оффлайн Rufender

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
Очистить @INC
« Ответ #8 : 12 Декабря 2006, 13:27:39 »
все понятно, не работает именно :ALL - если директории явно указывать, они удаляются из @INC

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Очистить @INC
« Ответ #9 : 12 Декабря 2006, 14:10:39 »
Цитировать
Rufender:
не работает именно :ALL

Поподробнее.
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28