Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как заставить Tk в perl работать с эмуляцией switch через хэш

48K
06 декабря 2009 года
pincher2012
16 / / 04.12.2009
Имеется код
Код:
use Tk;
use strict;
my ($mw, $button);
my $st;
$mw = MainWindow->new(-title => "ololo" );
$button = $mw->Button(-text => 'Do!', -command =>\&statcon)->pack(-anchor=>"center");
MainLoop;



sub change_connected           {print $st="Connected."};
sub change_wrong_pass          {print $st="Incorrect password."};
sub change_wrong_login         {print $st="Incorrect login."};
sub change_connetcion_problems       {print $st="Connection problems."};
my %change_status;
%change_status = (
         "+OK"    => \&change_connected,
         "pass"   => \&change_wrong_pass,
         "login"  => \&change_wrong_login,
         "-ERR"   => \&change_connetcion_problems
);
my $a="+OK";
sub statcon{change_status("+OK");}
sub change_status($){$change_status{$a}->();}


Не могу понять почему он не печатает соответствующее сообщение.
с конструкцией if-else все прекрасно работает, но не хотелось бы к ней прибегать.
2
06 декабря 2009 года
squirL
5.6K / / 13.08.2003
а почему Switch не использовать? perldoc Switch
48K
06 декабря 2009 года
pincher2012
16 / / 04.12.2009
Спасибо большое, все работает.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог