#!/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
那里编写命令)然后调用该子程序?我不能像在上面的代码中那样直接输入命令吗?