#!/usr/bin/perl
use warnings;
#WINDOW 1
system ("dialog --keep-window --menu Customize 10 70 50 'Flush rules' 'Clear all the rules' 2> /tmp/customize.txt ");
open FILE4, "/tmp/customize.txt" or die $!;
     chomp(my $customize = <FILE4>);
           if($customize =~ /Flush rules/){
           `iptables -F`;
           system ("dialog --infobox 'All tables have been flushed.' 05 35");
           }
           else{
               exit;
           }

执行上述代码后,将出现一个对话框,其中显示刷新规则的选项。当我按Enter键时,将执行iptables -F命令,并刷新所有iptables规则。之后,程序终止。我希望在刷新所有规则后,启动的窗口即提供刷新规则选项的窗口不应关闭。刷新规则后,程序不应终止。它应该回到 window1

最佳答案

围绕它如何:

while (1)
{
     #WINDOW 1
     ... rest of program
}

您可以在对话框中添加退出选项,并在选择该选项时中断while循环。

10-08 16:42