Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Does Scope of Referenced Array Matter?

by repellent (Priest)
on Feb 20, 2012 at 22:22 UTC ( [id://955170]=note: print w/replies, xml ) Need Help??


in reply to Does Scope of Referenced Array Matter?

It may be interesting to note how reference count grows. Here's an example of reference counts to the scalar $a, with explanation in comments:
use Devel::Peek qw(SvREFCNT); my $a = 9; # 1 = $a is an SV of an IV with refcnt of + 1 warn SvREFCNT($a), "\n"; my $b = \$a; # 2 = (anonymous) scalar ref maintained b +y $b warn SvREFCNT($a), "\n"; my $d = my $c = $b; # 4 = two more ref copies made warn SvREFCNT($a), "\n"; my $f = my $e = \$b; # 4 = $a unaffected by references _to_ $b warn SvREFCNT($a), "\n"; my $g = [ $a ]; # 4 = copy of value $a in array warn SvREFCNT($a), "\n"; my $h = [ $c ]; # 5 = copy of ref to $a in array warn SvREFCNT($a), "\n"; my $i = sub { $b, $c, $e }; # 5 = $a unaffected by closure over _refs +_ to $a warn SvREFCNT($a), "\n"; my $j = sub { $a, $a, $a }; # 6 = closure over actual lexical $a warn SvREFCNT($a), "\n"; undef $_ for $b, $c, $d, $h, $j; # 1 = kill all refcnt contributors ( +except for $a itelf) warn SvREFCNT($a), "\n";

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://955170]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (10)
As of 2024-04-18 15:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found