#!/usr/local/bin/perl
use Tk;
# Main Window
$mw = new MainWindow;
$label = $mw -> Label(-text=>"Hello World") -> pack();
$button = $mw -> Button(-text => "Quit",
-command => sub { exit }) -> pack();
MainLoop;
В этом коде при нажатии кнопки $button
программа закрывается.Потому что он выполняет команду выхода.Я хочу изменить код так, чтобы, когда пользователь нажимал на кнопку, он сбрасывал правило iptables (iptables -F
).Как я могу это сделать?
Я пробовал это:
$button = $mw -> Button(-text => "Flush the rules",
-command => system ( iptables -F )) -> pack();
Почему это не работает?Должен ли я создать для него подпрограмму (затем написать туда команду iptables -F
), а затем вызвать эту подпрограмму?Разве я не могу поставить команду напрямую, как в коде выше?