Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

What is variable suicide and how can I prevent it?

by faq_monk (Initiate)
on Oct 08, 1999 at 00:27 UTC ( #691=perlfaq nodetype: print w/ replies, xml ) Need Help??

Current Perl documentation can be found at


Variable suicide is when you (temporarily or permanently) lose the value of a variable. It is caused by scoping through my() and local() interacting with either closures or aliased foreach() interator variables and subroutine arguments. It used to be easy to inadvertently lose a variable's value this way, but now it's much harder. Take this code:

    my $f = "foo";
    sub T {
    print "Finally $f\n";

The $f that has ``bar'' added to it three times should be a new $f (my $f should create a new local variable each time through the loop). It isn't, however. This is a bug, and will be fixed.

Log In?

What's my password?
Create A New User
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
As of 2014-12-27 23:46 GMT
Find Nodes?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?

    Results (177 votes), past polls