in reply to References for ano subs fixed at compile time?

Are the references to anonymous code blocks in Perl always constant, because they are fixed at compile time?

No and no; its just another variable. consider

$ perl -le " for(1..3){ my$f=$_; print\$f; }" SCALAR(0x99b824) SCALAR(0x99b824) SCALAR(0x99b824)

versus

$ perl -le " sub ff { my $f = $_; return \$f } print ff() for 1..3;" SCALAR(0x3f9bcc) SCALAR(0x3f9bbc) SCALAR(0x3f9bcc)

What perl does, how perl optimizes, how perl reuses allocated memory, depends on what the code does

Replies are listed 'Best First'.
Re^2: References for ano subs fixed at compile time? (no)
by LanX (Saint) on Jun 18, 2013 at 21:38 UTC
    I was talking about CODE-refs not SCALARs!

    Cheers Rolf

    ( addicted to the Perl Programming Language)

      I was talking about CODE-refs not SCALARs!

      Same difference, perl reuses references as it sees fit