Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^3: undef/defined &{$name} while "strict refs"

by Anonymous Monk
on Aug 21, 2012 at 06:43 UTC ( [id://988598]=note: print w/replies, xml ) Need Help??


in reply to Re^2: undef/defined &{$name} while "strict refs"
in thread undef/defined &{$name} while "strict refs"

I think, however, it's still unclear why defined/undef &{ 'run' } doesn't throw exceptions while "strict refs". ,/i>

Have you read what strict says about refs?

Please read it now

  • Comment on Re^3: undef/defined &{$name} while "strict refs"

Replies are listed 'Best First'.
Re^4: undef/defined &{$name} while "strict refs"
by anazawa (Scribe) on Aug 21, 2012 at 07:04 UTC
    The POD says we are allowed to get a reference to CODE using symbolic references while "strict refs". I think this doesn't mean we can defined or undef subroutines as well. I may be misreading the document.

      I think this doesn't mean we can defined or undef subroutines as well.

      I don't understand what you're saying here

        When we execute my code above, the script throws an exception because &{ 'run' } violates "strict refs". Khen1950fx explained how to avoid this problem (I appreciate his suggestion).

        On the other hand, when we comment out &{ 'run' }, my script doesn't output error messages. This result shows the following doesn't violate "strict refs":
        my $walkable = defined &{ 'walk' }; undef &{ 'walk' };
        It seems each line uses symbolic references. I don't understand why this is possible.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (9)
As of 2024-04-18 16:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found