Perl处理键盘中断

时间:2015-03-31 14:45:52

标签: 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()
    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获得与此类似的东西?

1 个答案:

答案 0 :(得分:3)

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

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