使用Ctrl + C中断下面的程序会导致perl 5.10.0出现“Segmentation fault”。它与perl 5.8.8一起正常工作。知道为什么吗?
#!/usr/bin/perl
# just changing the shebang line to use perl 5.10.0 causes it to seg fault
# when interrupted with Ctrl + C
use strict;
use warnings;
$SIG{INT}=\&clean;
sub clean {
print 'caught';
}
sleep 10;
(程序取自Problem with perl signal INT)
perl 5.10版本是:
$ perl5.10.0 -v
This is perl, v5.10.0 built for i686-linux-thread-multi
(with 3 registered patches, see perl -V for more detail)
Copyright 1987-2007, Larry Wall
Binary build 1002 [283697] provided by ActiveState http://www.ActiveState.com
Built Jan 10 2008 07:35:18
...
linux发行版:
$ cat /proc/version
Linux version 2.6.18-128.7.1.el5 (mockbuild@hs20-bc2-3.build.redhat.com)
(gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) #1 SMP Wed Aug 19 04:00:49 EDT 2009
由于
答案 0 :(得分:0)
您将需要提供更多详细信息,例如您正在使用的操作系统/版本,是否使用系统perl,perlbrew,active perl等。尝试针对从中构建的Perl 5.12.3关于雪豹的Perlbrew,我无法重现这个问题。
我也会遵循在perlmonks.org上提问的建议。