Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl处理键盘中断_Perl_Keyboard_Interrupt - Fatal编程技术网

Perl处理键盘中断

Perl处理键盘中断,perl,keyboard,interrupt,Perl,Keyboard,Interrupt,我试图编码一种方式,当用户在CTRL+C中键入时,脚本将在关闭之前继续执行更多步骤。我知道如何在Python中实现这一点。python代码如下所示: try: workbook = xlsxwriter.Workbook('Desktop\ODFU '+str(System)+'.xlsx') worksheet = workbook.add_worksheet() excelcreate(System) login(USER, PASS) test()

我试图编码一种方式,当用户在CTRL+C中键入时,脚本将在关闭之前继续执行更多步骤。我知道如何在Python中实现这一点。python代码如下所示:

try:
    workbook = xlsxwriter.Workbook('Desktop\ODFU '+str(System)+'.xlsx')
    worksheet = workbook.add_worksheet()
    excelcreate(System)
    login(USER, PASS)
    test()
    time.sleep(2)
    print"Test is complete..."
    logout()
except KeyboardInterrupt: # CTRL+C Terminates script and saves everything and logs out
    print""
    print "Interruption occurred!! Script terminating..."
    workbook.close()
    logout()    

如何使用Perl获得与此完全相同的内容?

只需定义一个SIGINT处理程序:

local $SIG{INT} = sub {
    $workbook->close;
    logout();
    exit 130
};

只需定义一个SIGINT处理程序:

local $SIG{INT} = sub {
    $workbook->close;
    logout();
    exit 130
};

只需定义一个SIGINT处理程序:

local $SIG{INT} = sub {
    $workbook->close;
    logout();
    exit 130
};

只需定义一个SIGINT处理程序:

local $SIG{INT} = sub {
    $workbook->close;
    logout();
    exit 130
};

谢谢,我最后声明$SIG{'INT'}='interrupt';然后声明子函数。谢谢,我最后声明$SIG{'INT'}='interrupt';然后声明子函数。谢谢,我最后声明$SIG{'INT'}='interrupt';然后声明子函数。谢谢,我最后声明$SIG{'INT'}='interrupt';然后声明子函数。