Forum Webscript.Ru

Программирование => Perl => Тема начата: novice2 от 15 Октября 2002, 14:03:51

Название: Определить, существует ли процедура/метод
Отправлено: novice2 от 15 Октября 2002, 14:03:51
Помогите правильно определить в рантайме:
существует ли процедура с данным именем?
То же самое для пакета?
Например типа

sub createObj {
  my $class = \'Fruit\';
  my $class1 = \'Fruit::Apple\';

  if( ??exist??($class1) ){
    return $class1->new();
  }else{
    return $class1->new();
  }
}

Спасибо.
Название: Определить, существует ли процедура/метод
Отправлено: novice2 от 15 Октября 2002, 14:05:40
PS: что бы подставить вместо ??exist??($class1)
Название: Определить, существует ли процедура/метод
Отправлено: Serchey от 15 Октября 2002, 15:48:12
Когда-то я делал так:

my $mod = My::Mod->new();
if($mod->can(\'some_function\'){
 print "Yoo! I CAN!!!!\\n";
} else {
 die "I didn\'t find such function!\\n";
}
Название: Определить, существует ли процедура/метод
Отправлено: novice2 от 15 Октября 2002, 18:02:33
спасибо.