|
|
|
новичок
      
участник
Last Login: 15.06.2005 11:55
Сообщ.: 2,
Visits: 23
|
|
Хотел для создания менюхи использовать Term::Menus, однако натолкнулся на непонятные мне грабли. Даже если использовать текст примера из дока:
#!c:\perl\bin\perl.exe -w
require Term::menus;
my @list=('First Item','Second Item','Third Item');
my $banner=" Please pick an item:";
my $selection=&pick(\@list,$banner);
print "SELECTION = $selection";
скрипт вылетает с ошибкой:
Undefined subroutine &main::pick called at E:\test\tstmnu.pl line 7.
Пишется всё на Activstate perl.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 13.07.2006 17:05
Сообщ.: 124,
Visits: 1 356
|
|
Потому что у вас ошибка в подключении модуля, регистр букв имеет значение.
Надо так:
use Term::Menus;
и дальше ваш код (без require).
PerlMonks.Org.Ru.... coming soon
|
|
|
|
|
новичок
      
участник
Last Login: 15.06.2005 11:55
Сообщ.: 2,
Visits: 23
|
|
то же самое:
Undefined subroutine &main::pick called at E:\AdvScripts\tstmnu.pl line 6.
:(
уже всю голову поломал....
|
|
|
|
|
Supreme Being
      
участник
Last Login: 13.07.2006 17:05
Сообщ.: 124,
Visits: 1 356
|
|
Чудес тут быть не может - ошибка возникает потому что модуль не подключен правильно (и скрипт думает что функция pick принадлежит скрипту (пакету main::)а не модулю).
Вот код который работает (взят из perldoc).
#!/usr/bin/perl
use Term::Menus;
my @list=('First Item','Second Item','Third Item');
my $banner=" Please pick an item:";
my $selection=&pick(\@list,$banner);
print "SELECTION = $selection";
PerlMonks.Org.Ru.... coming soon
|
|
|
|