develooper Front page | perl.perl5.porters | Postings from June 2010

[perl #75812] kill $1 broken in 5.12.1

Thread Previous | Thread Next
From:
Todd Rinaldo
Date:
June 17, 2010 08:35
Subject:
[perl #75812] kill $1 broken in 5.12.1
Message ID:
rt-3.6.HEAD-4976-1276718880-1350.75812-75-0@perl.org
# New Ticket Created by  Todd Rinaldo 
# Please include the string:  [perl #75812]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=75812 >


We've discovered that this snippet will break in perl 5.12

my $pid = "12345  ";
if($pid =~ m/(\d+)/) {
	kill 9, $1;
}

it dies with this message:
Can't kill a non-numeric process ID at test.pl line 7.


The reason appears to be a result of this commit.
http://perl5.git.perl.org/perl.git/commitdiff/e2c0f81f627951896aca833460887e6e8f20aba6?hp=32878f30ba1216461c8932946f0868cda9920d62

Using Devel::Peek, I'm guessing the problem is that IV doesn't get set on a $1 variable?

For some reason I can't understand,  I can make this problem go away if I do 'use 5.12.1' at the beginning of my code. $1+0 also forces kill to work.




Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About