Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: anonymous scalar reference

by pobocks (Chaplain)
on Nov 26, 2008 at 07:37 UTC ( [id://726027]=note: print w/replies, xml ) Need Help??


in reply to Re: anonymous scalar reference
in thread anonymous scalar reference

How is that anonymous?
for(split(" ","tsuJ rehtonA lreP rekcaH")){print reverse . " "}print "\b.\n";

Replies are listed 'Best First'.
Re^3: anonymous scalar reference
by ikegami (Patriarch) on Nov 26, 2008 at 13:54 UTC
    Anonymity is not the goal. The ability to generate as many references as needed is.
    my @refs; for (1..10) { push @refs, \my $foo; } print "$_\n" for @refs;
    SCALAR(0x18317d8) SCALAR(0x23605c) SCALAR(0x236098) SCALAR(0x236d88) SCALAR(0x1831838) SCALAR(0x1831808) SCALAR(0x1831868) SCALAR(0x1831880) SCALAR(0x1831898) SCALAR(0x18318b0)

    You'll might see \do { my $foo } and do { \my $foo }, but the extra scope is almost always overkill.

      I think that saying “the extra scope is almost always overkill” is a little disingenuous—your second example only works1 because of the extra scope. Specifically, if you tried to unroll this for loop, then you'd have to either think up a bunch of extra names, or get warned.

      1 By which I mean, only works silently under warnings.
      UPDATE: Despite typing it out myself, I didn't register the ‘almost always’, and so was reacting as if the statement was unqualified. I'm sorry about that.

        your second example only works1 because of the second scope

        What do you call the second example? The way I see it, I only posted one.

        Specifically, if you tried to unroll this for loop, then you'd have to either think up a bunch of extra names, or get warned.

        But why would you do that. I can't imagine any scenario where you'd do that. Can you come up with a real world example where you need to generate more than one such reference in the same scope? If there was such an case, it seems to me that having different names for different variables would be a good thing.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-04-24 22:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found