http://qs321.pair.com?node_id=175498


in reply to Re: Re: The danger is passing back references to local subroutines.
in thread The danger is passing back references to local subroutines.

What he has now is not a closure. It would be a closure if he used his idea of declaring the variable above and referencing it inside the sub.

UPDATE:
Actually, as long as he still passes by reference it's not a closure. Here's an example of what would make it a closure:

my $ref_to_big_chunk; get_big_chunk(8675309); print "And the big data is: "; print $$ref_to_big_chunk; sub get_big_chunk { my $jenny_tel = $_[0]; my $big_jenny = [ all work done here to make this huge ] $ref_to_big_chunk = \$big_jenny; }
Note that this is a terrible way to do it because it's no longer obvious that the get_big_chunk() sub alters $ref_to_big_chunk.