Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Victor Wagner                        2:5020/400     28 Nov 2002  01:02:17
 To : lozenkov@sartfoms.ru
 Subject : Re: Использование функции из модуля
 -------------------------------------------------------------------------------- 
 
 lozenkov@sartfoms.ru <lozenkov%sartfoms.ru@f16.n5053.z2.fidonet.org> wrote:
 
 lsr> Сорри за ламерский вопрос, но я в с perl только начинаю.
 lsr> Хочу создать модуль и использовать из него функцию.
 lsr> Создал модуль и записал его в /usr/lib/perl5/site_perl/5.6.1/Any/.
 lsr> Типа вот он  (сами функции не приведены):
 
 lsr> package Mine;
 lsr> require Exporter;
 lsr> @ISA = qw(Exporter);
 lsr> @EXPORT = qw(commify, krjaka2koi);
 
 lsr> sub commify {   
 lsr> }
 lsr> sub krjaka2koi {
 lsr> }
 
 lsr> Далее создаю файл, использующий этот модуль
 
 lsr> use Any::Mine;
 lsr> $str = '=?koi8-r?Q?=D0=D2=C9=D7=C5=D4?=';
 lsr> $newstr = Mine::krjaka2koi($str);
 lsr> print "$newstr\n";
 
 lsr> Если функцию вызывать Mine::krjaka2koi($str), то все ОК.
 lsr> Hо если только по имени функции krjaka2koi($str), то perl говорит:
 lsr> Undefined subroutine &main::krjaka2koi called at ...
 lsr> Что я не так делаю?
 
 У тебя имя модуля в package и use не совпадает.
 Ты импортируешь модуль Any::Mine, при этом подгружается файл
 Any/Mine.pm, содержащий
 какие-то package, вообще говоря - более одного. И все, что
 экспортируется из package Any::Mine (в данном случае ничего)
 тащится в текущий namespace. А вот функции, экспортируемые из Mine -не
 тащатся - его ведь ты не use, и даже не import.
 А вообще тот модуль который тебе на самом деле нужен, называется
 MIME::Words.
 
 lsr> Заранее спасибо
 -- 
 Где запрещено смеяться, там обычно и плакать нельзя.
        --- С.Е. Лец
 --- ifmail v.2.15dev5
  * Origin: Free Net of Leninsky,45 (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Использование функции из модуля   Victor Wagner   28 Nov 2002 01:02:17 
Архивное /ru.perl/151786b5d62ab.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional