Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как узнать,установлены модули или нет? 
V
    Опции темы
PuLN
Дата 8.3.2007, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 1.8.2006

Репутация: нет
Всего: 2



Приветствую!
поставил ActiveState и не знаю,как проверить есть ли нужные мне модули или нет.
подскажите пожалуйста!
--------------------
*** хуже нет,когда не ответит тот,кто знает....*** наша жизнь-желтая стрела,подхваченная ветром времени(© PuLN)   
PM MAIL   Вверх
nitr
Дата 8.3.2007, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



способов много, или ошибку ловить при use (require, do) или массив @INC проверять на наличии модуля...


--------------------
PM   Вверх
DiverD
Дата 9.3.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 225
Регистрация: 14.9.2005
Где: Белорусь

Репутация: 1
Всего: 2



perl -e 'use ModuleName' если ошибки нет знач модуль есть=)

Это сообщение отредактировал(а) DiverD - 9.3.2007, 11:47
--------------------
[ FreeBSD & pERL p0WER eVERY dAY ]
PM MAIL   Вверх
PuLN
Дата 9.3.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 1.8.2006

Репутация: нет
Всего: 2



о!мерси!
--------------------
*** хуже нет,когда не ответит тот,кто знает....*** наша жизнь-желтая стрела,подхваченная ветром времени(© PuLN)   
PM MAIL   Вверх
PuLN
Дата 11.3.2007, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 1.8.2006

Репутация: нет
Всего: 2



кстати,а не в двойных кавычках?
не бейте сильно,я только учусь smile 
--------------------
*** хуже нет,когда не ответит тот,кто знает....*** наша жизнь-желтая стрела,подхваченная ветром времени(© PuLN)   
PM MAIL   Вверх
Filin
Дата 12.3.2007, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.10.2006

Репутация: нет
Всего: нет



Два примера, того как можно посмотреть установленные модули
http://perl.3car.ru/forum/Blah.pl?m-1173692264/s-0/
PM MAIL   Вверх
amg
Дата 12.3.2007, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Один из простейших вариантов
Код

print "Ok\n" if is_module('File::Fin');

sub is_module {
  (my $name = $_[0]) =~ s|::|/|g;
  foreach (@INC) {
    my $fullname = "$_/$name.pm";
    return $fullname if -f $fullname;
  }
  return undef;
}


PM MAIL   Вверх
PuLN
Дата 13.3.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 1.8.2006

Репутация: нет
Всего: 2



Цитата(DiverD @ 9.3.2007,  11:46)
perl -e 'use ModuleName' если ошибки нет знач модуль есть=)

это в ком строке под виндой,верно?а то ошибок то нет,но как то странно..
--------------------
*** хуже нет,когда не ответит тот,кто знает....*** наша жизнь-желтая стрела,подхваченная ветром времени(© PuLN)   
PM MAIL   Вверх
amg
Дата 13.3.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(PuLN @ 13.3.2007,  12:35)
Цитата(DiverD @ 9.3.2007,  11:46)
perl -e 'use ModuleName' если ошибки нет знач модуль есть=)

это в ком строке под виндой,верно?а то ошибок то нет,но как то странно..

Для использования в командной строке под виндой нужно одинарные кавычки заменить на двойные.

Еще в командной строке можно использовать perldoc -l Module::Name (и в скрипте тоже):
Код

if (`perldoc -l Module::Name`) {
  use Module::Name;
  ...
}

В общем, вариантов много.
PM MAIL   Вверх
arto
Дата 13.3.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



if (`perldoc -l Module::Name`) {
  use Module::Name;
  ...
}

5 баллов.
PM MAIL ICQ   Вверх
amg
Дата 14.3.2007, 05:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Цитата(arto @  13.3.2007,  14:59 Найти цитируемый пост)
5 баллов.
Максимум 3.
1. Использование любой внешней программы внутри скрипта - это нехорошо, если можно легко обойтись средствами Perl.
2. perldoc может и не стоять, если у меня, к примеру, какой-нибудь самосборный дистрибутив Perl.
3. Как эта конструкция будет работать в CGI-скриптах или в скрипте, запускаемом cron'ом? Могут быть проблемы.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1182 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.