Perl TK несколько команд на одну кнопку
Я хотел бы сделать, это иметь кнопку, чтобы закрыть мое окно (button_window), но также вызвать функцию (user_info):
my $btn = $main -> Button (-text => 'Start',
-command => sub {$button_window -> destroy},
-command => \&user_info)
-> pack ();
выполняет только последнюю команду, спасибо заранее
1 ответ
Решение
Саб может принимать любое количество звонков на другие сабы.
my $btn = $main->Button(
-text => 'Start',
-command => sub {
user_info();
# do something else...
$button_window->destroy;
},
)->pack();
Он выполняет только последнюю команду, поскольку хеш-параметр может иметь только один ключ -command, поэтому он перезаписывается.