当我在perl中输入某个值时,如何关闭CMD?

时间:2016-07-15 02:53:26

标签: perl

我正在制作一个程序,当我登录计算机时,最终能够自动启动,并允许我从各种程序中选择启动。我目前有两个(刚开始)。无论如何,我想知道,因为它是通过CMD运行的,当我输入一定值时,如何让程序关闭CMD。我的代码:

print "What would you like to run? (1 for Chrome and 2 for Calculator \"e\" for exit)  \n";
my $prog_run = <STDIN>;

if ($prog_run == 1){
#Chrome Function
system('"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"');
}elsif ($prog_run == 2){
#Calculator Function
system('"C:\Windows\System32\calc.exe"');
}elsif ($prog_run == "e"){
  #Exit Fucntion
  print "Exiting........";
}

1 个答案:

答案 0 :(得分:1)

}elsif ($prog_run == "e"){

==是数字比较运算符;它只适用于数字。由于"e"是一个字符串,因此您需要使用字符串比较运算符eq来比较它:

} elsif ($prog_run eq "e") {

但是,您从标准输入读取的行默认情况下会有一个换行符。您可以事先将其包含在字符串("e\n")或chomp $prog_run;中以删除换行符。

反正。

如果您处于循环中,则可以使用last退出。或者,您可以使用exit制作整个Perl流程......好吧,退出。