Автор Тема: Модули и require  (Прочитано 4991 раз)

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

Оффлайн aster_x

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://f3.omsu.ru/
Модули и require
« : 19 Сентября 2005, 19:55:38 »
Есть такая проблема:

имеется модуль Base.pm
#####################
...

sub connect{
  my (%data) = @_;
  ...
  require "$data{b_type}";  # В данном случае подключаем \'mysql.pl\';
  ...
}

######################


и "mysql.pl"
######################

sub connectdb{
  ...
  my $self = {};
  ...
  return $self;
}
######################

Вопрос: как из connect вызвать connectdb так, чтобы
$self имел принадлежность к классу Base?


Заранее признателен за любые ответы..
-=/ASTER_X\\=-

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Модули и require
« Ответ #1 : 20 Сентября 2005, 01:14:19 »
могу дать совет: начни с простых примеров, более простых. они есть почти в любой книжке по Perl.
0 OK, 0:1

Оффлайн aster_x

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://f3.omsu.ru/
Модули и require
« Ответ #2 : 20 Сентября 2005, 18:04:18 »
Цитировать
ondr:
могу дать совет: начни с простых примеров, более простых. они есть почти в любой книжке по Perl.


Да ты не понял - Когда все функции находятся в Base.pm - все нормально:
и bless итп, а вот если я там делаю require, а вызываю как метод классы - Хрен..
-=/ASTER_X\\=-

Оффлайн Anarki

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://xcoding.org
Модули и require
« Ответ #3 : 26 Сентября 2005, 21:47:25 »
require "$data{b_type}";
А это точно сработает, вроде бы на стадии компиляции модули подключаются?
SmartDev Team

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
Модули и require
« Ответ #4 : 28 Сентября 2005, 15:56:03 »
perldoc -f bless :)

bless REF,CLASSNAME
bless REF
Почувствуй разницу.:)
2B OR NOT 2B = FF

 

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